Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Headings #156

matatk opened this issue Apr 19, 2018 · 4 comments

Headings #156

matatk opened this issue Apr 19, 2018 · 4 comments


Copy link

@matatk matatk commented Apr 19, 2018

The original Landmarks extension was made to help people navigate via the keyboard. Headings are more widely used, so supporting them too (like a11y-outline) could help out even more users. However, there are some things that need to be considered:

  1. How to let users know they can navigate via headings too? Is the current update notification sufficient? Should a message be placed into the Landmarks pop-up until dismissed by the user? How would that be managed?
  2. Should the heading navigation be via separate keys, such as Alt+H and Shift+Alt+H (analogous to Tab and Shift+Tab)?
    • Yes, the keys should be separate, at least by default.
    • Could provide options to:
      • Include headings in the existing landmark navigation order, and thus use the same keyboard shortcuts to navigate both.
      • Not combine the shortcut keys, but consider a landmark in which a current heading resides to be the current landmark, so you could navigate to a heading, then navigate to the next landmark and get the landmark after the one in which the current heading lives.
  3. If Alt+H and Shift+Alt+H are to be used for headings, shouldn't the same "Shift means go backwards" approach be used for landmarks too? Originally it wasn't (hence the separate N and P shortcuts) to avoid conflicting with assistive technology (e.g. screen-reader) shortcuts, but that may've been a sub-optimal move—would need to check for possible conflicts.
    • Need to research popular assistive technology shortcut keys.
    • If the keyboard shortcuts are going to change, some help needs to be provided to users on this. (If the "update info" mechanism hinted at in 1 above is gone generically, maybe it could be done for 2.3 and be used to indicate this change and explain why?)
    • Is it possible via WebExtensions to provide an option for users to go back to the original defaults?
  4. Should heading level be taken into consideration?
    • Can't easily provide shortcuts for this, as there would be very many, so suggest not, for now.
  5. Should the outline algorithm be taken into consideration?
    • No, it doesn't seem to have much traction so probably not, and it also doesn't matter as much if we are ignoring heading level in the navigation order.
  6. How should headings be represented in the pop-up?
    • This depends on if the user wants to have them included or not.
    • Should headings and landmarks be intermingled (landmarks containing headings [if applicable])?
    • Should landmarks and headings be presented as separate trees? In which case, should the shortcut keys e.g. Shift+Alt+L or Shift+Alt+H be used to open the pop-up in different modes (and have tabs in the pop-up? This is sounding a bit complex (and maybe not supportable in WebExtensions, as there's only one command available to open the pop-up?)
    • Bear in mind keyboard discussion above. Maybe if Alt+L/Shift+Alt+L is for next/previous landmark, then Control+Alt+L should open the appropriate pop-up mode.
    • It could get complicated; is it time for a sidebar extension? Not sure if there's a cross-browser way to do this yet (though heading support is unlikely to be coming terribly soon).
  7. This extension should be renamed to something like "Landmarks and Headings".
@matatk matatk added the enhancement label Apr 19, 2018
@matatk matatk added this to the 3.0.0 milestone Apr 19, 2018
@matatk matatk added the question label Apr 19, 2018
Copy link
Owner Author

@matatk matatk commented May 8, 2018

An alternative (keeping things simple) would be to do the following:

  • Keep Alt+Shift+N/P for landmarks.
  • Add Alt+Shift+G/H for headings.
  • Allow them to be combined as an option, and have that go on either keyboard shortcut (but the idea of N and P then sounds fitting).

Some things to think about:

  • Will there be performance implications for the mutation observing?
    • Don't think so, as whilst the checker function will get more complex, it'll still be throttled.
Copy link
Owner Author

@matatk matatk commented May 23, 2018

There are some more fundamental issues to resolve. I've been wondering how to present both landmarks and headings together (if the user wants that) and @carmacleod has articulated some of the conceptual differences and practical limitations, which would need to be addressed in order to make the navigation make sense for users (ta :-)).

I'll add one more: even ignoring the "outline algorithm", the actual heading structure of quite a lot of pages might either be broken (skipping levels, or not even present, even if visually-apparent headings are) or otherwise not how it looks, whereas it seems easier to make landmarks work more smoothly, as they are an implicit part of HTML5, and not as content-specific.

Some decisions to keep in mind:

  • Should headings be tracked by default? Still undecided; my latest idea is to have users opt either way when first installing the extension (via the splash page that seems to be needed for #165 anyway). This means that there's an option to explain the differences to users.
  • What about keyboard shortcuts for moving to different levels of heading? Traditional WebExtension-style shortcuts don't seem practicable for this, but there are alternatives such as:
  • Though mentioned at the top, the issue of how to present landmarks and headings is important (especially when thinking about the conceptual differences).
Copy link
Owner Author

@matatk matatk commented Oct 26, 2018

Have had a while to think about this, and it seems that the following should be the guiding principles for the first release with headings (and possibly articles [#203]):

  • If the default keyboard shortcuts are to change (more research needed, as above), then existing users must be warned and given the opportunity to use the new shortcuts, or stick with what they've got. This could be done via the splash page [#165]—perhaps by adding an extra column to the table (and a prominent note above it) allowing users to select the "classic" scheme or the new one.
  • Recognising all headings and presenting them in the same way, for now, is simpler (though headings of all levels should be recognised). The label can still state what sort of heading it is. Later, this could tie into the linting feature [#182].
  • The mnemonic-style keyboard navigation is cool, but more complex than using "native" keyboard shortcuts, so it could always be added in a future 3.x release, but for now just the native ones should be used (enough changes are going on at once anyway).
Copy link
Owner Author

@matatk matatk commented Sep 17, 2020

Had an idea yesterday! How about making an option for only showing the headings that are within the main content? Would need to ascertain how useful this might be (in fact, would rather default to not having additional options) but maybe something that should be researched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant