jupyter / jupyter/notebook

Using Toolbar Patterns from the ARIA Authoring Practices Guide for Better Assistive Experience

Open
#6,935 3 comments 0 reactions 0 assignees View on GitHub
enhancement tag:Accessibility
Dominant language
Jupyter Notebook
Stars
13.3k
Forks
5.8k
Avg merge
6d 11h
Merged PRs (30d)
7

Description

[ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/patterns/) provide recommendations for accessible experiences for interactive elements. the jupyter menu bars already abide the [menu bar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/menubar/) that allows for arrow key navigation around the menus. as a result, only one element from the menu bar shows in the tab ordering.

![image](https://github.com/jupyter/notebook/assets/4236275/74dffe98-6fd1-458a-8d42-e0ed94dd72ed "the tab ordering of the classic notebook.")

the preceding image indicates and #6800 indicate 20 tabs are needed to reach a cell since the toolbars do not abide the suggested [APG toolbar example](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/). these tab counts include the notebook and cell level toolbars. using the toolbar pattern we could drastically reduce the effort needed to navigate to cells. the recommended toolbar pattern allows focus on the last active element with arrow navigation to other elements.

is this a pattern that jupyter could support?

Contributor guide

Open the contributing guide

Research direction

Begin by reviewing the existing notebook and cell-level toolbar behavior described here and in #6800. Compare their tab and arrow-key focus behavior with the ARIA Authoring Practices Guide toolbar pattern and the existing menubar pattern. Done means agreeing on a concrete implementation scope and reducing unnecessary tab stops while preserving accessible keyboard navigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
accessibility, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.