improve the screen reader experience for html exported notebooks #2137
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
this pull request addresses navigation of rendered html notebooks with assistive technology. it uses the prior work in the notebooks for all project and nbconvert-a11y that test the best semantics for accessible notebooks. it makes minimal visual style changes except for a more significant focus when the cursor's focus is within a cell.
a good way to test these changes is to visit a sample rendering and Tab through the iframe. it will provide similar navigation to the previous version that using
tabindex
to manage focus.currently, assistive technology users lack information about the structure of notebooks. this makes for poor experience when navigating notebooks, specifically, large ones. this pull request adds cell navigation using lists, it improves the audible presentation of execution counts, and makes post processing optional.
with list navigation, screen reader users can navigation between cells using I or Shift+I. they can also access quick navigation screens that improve the ability to navigate the faceted nature of notebook documents. each cell contains a visually hidden anchor that offers an interactive element for the keyboard users to Tab through cells. previously, tabbing was achieved using tabindex on the input/output elements. we sunset this approach and rely on an
a
interactive element for focus. 1further screen reader users can find the cell list when they access the list navigation feature.
some things to discuss
cc: @krassowski @bollwyvl
Footnotes
https://www.a11yproject.com/posts/how-to-use-the-tabindex-attribute/#making-non-interactive-elements-focusable ↩