JupyterLab Accessibility Goals Meeting Notes
🚚 WE'VE MOVED! 🚚
As of July 11, 2024, this call has been merged with the Jupyter Frontends weekly call.
Please bring your accessibility-related updates, concerns, and questions to that call. Members of the Jupyter Accessibility subproject will make a particular effort to attend the first meeting of each calendar month.
Everything below should be considered historical.
Meeting info: https://zoom.us/my/jovyan?pwd=c0JZTHlNdS9Sek9vdzR3aTJ4SzFTQT09
Notes are recorded publicly at jupyter/accessibility.
Link to these notes: https://hackmd.io/WnaWXboXSiGoqWvev_fAvA
Beginner resources:
June 13, 2024
Attendees
- Darian, QuantStack
- Ely, Bloomberg
- Blessing, Agriarche
Notes
May 30, 2024
Attendees
Gabriel, Quansight Labs
Shreyas, Balaji, Ryan, Efan, UC Berkeley
Nick
Tony
Ely
Notes
May 16, 2024
Attendees
Gabriel, Quansight Labs
Balaji and Ryan from UC Berkeley
Blessing
Nick
Notes
- Balaji/Ryan want to demo an a11y extension next meeting
- Discussion with Nick about some of the challenges involved in accessibility checking of a notebook file. Emphasis on limitations of checking the input format when it's really the output format (i.e., HTML) that affects accessibility:
- Discussion of checking authoring pipeline
May 2, 2024
Attendees
Name |
Affiliation |
GitHub |
Gabriel |
Quansight Labs |
@gabalafou |
Isabela |
Quansight Labs |
@isabela-pf |
Ely |
Bloomberg |
@ohrely |
Notes
- Gabriel, 3 things on my mind:
- Reboot: what do we want this group to focus on?
- This occupied the bulk of today's conversation
- Funding: do we want to brainstorm and work on funding for Jupyter accessibility projects?
- News: Quansight Labs did not get another round of funding from Chan Zuckerberg Initiative (CZI)
- Meeting time: do we want to keep the same time or move it?
In today's call there was a lot of discussion about what to do next with this group. One of the things that came up was that JupyterLab Accessibility is a cross-cutting concern but it also feels peripheral to the rest of the organization at the same time.
Question: is the goal to create more core devs in Jupyter frontends who are access-centered, or is it to convert existing core devs to access-centered core devs, or both?
April 18, 2024
No attendance
April 4, 2024
Attendees
Name |
Affiliation |
GitHub |
Gabriel |
Quansight Labs |
@gabalafou |
Afshin T. Darian |
QuantStack |
@afshin |
R Ely |
Bloomberg |
@ohrely |
Mike |
Quansight |
@krassowski |
Notes
-
Ely:
- Jupyter Open Studio Day NYC Monday April 29
-
Gabriel:
- What are the imagined scenarios/outcomes if the vote swings "no"? (re: Linux Foundation)
March 21, 2024
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
@m158261 |
T |
GCHQ |
@t03857785 |
Tania |
Quansight Labs |
@trallard |
Ely |
Bloomberg |
@ohrely |
Mike |
Quansight |
@krassowski |
Notes
- M/T
- Link to Demo branch Binder (JupyterLab and Lumino)
- Create, display and show shortcut number in overlay - replaces lumino PR 633, changes made, ready for re-review. #15155
- Gabe to check CI and ping Mike if this is good to go
- Extend keystrokes to mode keys - One approval from Nicolas. Are there any further changes required? #637
- This PR is needed to in order for the overlay to work, but is also the most risky.
- Gabe to prioritize other PRs for review that are less risky, easier to get across the finish line.
- Change close launcher div to button for screen reader accessibility - ready for review #15347
- Action item: look into including the needed CSS in the PR itself so that it doesn't strictly depend on the Lumino PR.
- 400% Zoom screen usability enhancements - PR to be split out to isolate changes #15855
- Gabe action item: split into separate PRs
- Disable Scan mode notification for screen reader users - Updated implementation, aria-live region added as widget. Ready for review #15505
- Action item: Gabe to review by applying PR and using it
- Dark High Contrast Theme for JupyterLab with Improved Sidebar Focus Indication - Ready for review. #15623
- Action needed: ask Mike to merge this PR into the appropriate release channel so we can start gathering user feedbock
- Added aria-live to commands to improve screen reader accessibility - ready for review #15048
- Added aria-live announcement when a notebook cell is taking a long time to process - ready for review #15554
- Gabe to dig into aria-live PRs
- March 29 is cut off for M and T and folks
March 07, 2024
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
@m158261 |
T |
GCHQ |
@t03857785 |
Notes
- M/T
- Link to Demo branch Binder (JupyterLab and Lumino)
- 400% Zoom screen usability enhancements - We have isolated two failing screenshots that we believe are unrelated to the code changes. #15855
- Disable Scan mode notification for screen reader users - Updated implementation, aria-live region added as widget. Ready for review #15505
- Dark High Contrast Theme for JupyterLab with Improved Sidebar Focus Indication - Ready for review. #15623
- Aria-labels and keyboard navigation for Keyboard shortcuts that include punctuation ignored by screen readers - Changes made, ready for review. #15539
- Change close launcher div to button for screen reader accessibility - ready for review #15347
- Added aria-live to commands to improve screen reader accessibility - ready for review #15048
- Create, display and show shortcut number in overlay - replaces lumino PR 633, changes made, ready for re-review. #15155
- Extend keystrokes to mode keys - One approval from Nicolas. Are there any further changes required? #637
- Change close launcher div to button for screen reader accessibility - ready for review #15347
February 22, 2024
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
m158261 |
Tania |
Quansight Labs |
@trallard |
Gabriel |
Quansight Labs |
@gabalafou |
Mike |
Quansight |
@krassowski |
Notes
February 08, 2024
Attendees
Name |
Affiliation |
GitHub |
|
|
|
Mike |
Quansight |
@krassowski |
Gabriel |
Quansight Labs |
@gabalafou |
Notes
-
Mike:
- hooray JupyterLab 4.1 released
- please help with regressions from accessibility PRs in 4.1
-
Gabriel
- M/T - Apologies, we cannot attend this call due to technical Issues.
- Link to Demo branch Binder (JupyterLab and Lumino)
- 400% Zoom screen usability enhancements - We have reduced failing screenshots to 4. We are looking for guidence on where to go from here. The remaining screenshots are flaky, they fail on unrelated PRs i.e. #15155. #14766
- Disable Scan mode notification for screen reader users - Updated implementation, aria-live region added as widget. Ready for review #15505
- Dark High Contrast Theme for JupyterLab with Improved Sidebar Focus Indication - Ready for review. #15623
- Aria-labels and keyboard navigation for Keyboard shortcuts that include punctuation ignored by screen readers - Changes made, ready for review. #15539
- Change close launcher div to button for screen reader accessibility - ready for review #15347
- Added aria-live to commands to improve screen reader accessibility - ready for review #15048
- Create, display and show shortcut number in overlay - replaces lumino PR 633, needs initial review #15155
- Extend keystrokes to mode keys - One approval from Nicolas. Are there any further changes required? #637
- Keyboard navigation to sidebar tests - ready for review #15438
- Change close launcher div to button for screen reader accessibility - ready for review #15347
- Aria-labels and keyboard navigation for Keyboard shortcuts that include punctuation ignored by screen readers - ready for review #15539
January 25, 2024
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
@m158261 |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight Labs |
@gabalafou |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
Mike |
Quansight |
@krassowski |
Notes
January 11, 2024
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
@m158261 |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight Labs |
@gabalafou |
R Ely |
Bloomberg |
@ohrely |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
|
|
|
|
|
|
|
|
|
Notes
- M/T
- Link to Demo branch Binder (JupyterLab and Lumino)
- Issue with merged PRs that are in Demo Branches - Merged PRs
- Disable Scan mode notification for screen reader users - Suggested changes made, ready for review #15505
- Added tabbing and "enter" & "spacebar" functionality to statusBar - We cannot find a working solution without generating synthetic mouse clicks. Help would be much appreciated #14853
- 400% Zoom screen usability enhancements - any suggestions from the community would be welcome to see how to solve unnecessary snapshot issues #14766
- Dark High Contrast Theme for JupyterLab with Improved Sidebar Focus Indication - Initial impression and thoughts? #15623
- Added aria-live to commands to improve screen reader accessibility - ready for review #15048
- Added aria-live announcement when a notebook cell is taking a long time to process - ready for review #15554
- Create, display and show shortcut number in overlay - replaces lumino PR 633, needs initial review #15155
- Other WCAG accessibility issues that need addressing for corporate adoption?
- Issues on JupyterLab have been being tracked and addressed.
- User testing feedback might make improved experience paths clear. (Notebooks for all, JupyterLab accessibility user testing.)
- University of California's adoption standards (WCAG 2.0 level AA standards). Seem aligned with current work.
- Common extensions
- Notebook
- Something to keep in mind. A lot of Jupyter end users are in educational and enterprise settings that deploy Jupyter via Docker Stacks. And then often lock down these installs to versions that become outdated.
- Side note: Jupyter widgets are typically used and available in these educational and enterprise deployments.
- Gabriel: I so wanted to get to some or all of these above PRs before this meeting but I just didn't have a single hour this past week
December 14, 2023
Attendees
Name |
Affiliation |
GitHub |
M |
GCHQ |
@m158261 |
Tania |
Quansight Labs |
trallard |
Mike |
Quansight |
@krassowski |
Gabriel |
Quansight Labs |
@gabalafou |
Notes
- M
- Link to Demo branch Binder (JupyterLab and Lumino)
- Issue with merged PRs that are in Demo Branches - Merged PRs
- Night mode in JupyterLite but not in JupyterLab - High contrast mode
- Shared for reference: https://github.com/Quansight-Labs/jupyterlab-accessible-themes
- Question: do we work on high contrast theme before themes for specific types colorblindness (because a high contrast theme could address several things at once?)
- Tony: users are likely to configure system settings before they specifically configure JupyterLab settings - something to consider. If we can add a theme that we can apply based on the user's system settings, that could be a win.
- Tania: Would you consider adding the high contrast theme to the jupyterlab-accessible-themes project? - if contributing to a project under the Quansight-Labs GH organisation we'd be happy to move this under jupyter-contrib
- Add global keyboard shortcuts for all tab bar widgets - changes made, can this be merged? #14799
- 400% Zoom screen usability enhancements - Any further changes required? #14766
- Made Status bar accessible at 400% zoom - changes made, ready to merge? #14854
- Notifying the user when a process is taking a long time. Just notebooks?
- success stories with https://github.com/deathbeds/jupyak/pull/16
nbconvert-a11y
update
- fork of notebooks for all
- reference implementations for aria first and second principle representations
- accessibility and html testing fixtures
- testing third party components
- Gabriel
- Jupyter blog post (Google Doc - may need to request access; )
- do we want to review the content as a group?
- do we want to review keyboard issues?
November 30, 2023
Attendees
Name |
Affiliation |
GitHub |
T |
GCHQ |
@t03857785 |
M |
GCHQ |
@m158261 |
tonyfast |
|
@tonyfast |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
Eric Gentry |
Anaconda |
@ericsnekbytes |
R Ely |
Bloomberg |
@ohrely |
Sylvain Corlay |
QuantStack |
SylvainCorlay |
Gabriel |
Quansight |
@gabalafou |
Notes
- Sylvain
- Blog post about keyboard accessibility.
https://docs.google.com/document/d/19Qx5R2GfGfy9EwpQfzFdwmVXgBl-dzIg9N3toP2h23U/edit?usp=sharing
-
T / M
- Link to Demo branch Binder (JupyterLab and Lumino)
- Issue with merged PRs that are in Demo Branches - Merged PRs
- Linking JupyterLab and Lumino in Binder - Discussion around GitHub Workflows, Gists and testing.
- Make Status bar accessible at 400% zoom - Ready to merge? #14854
- Added tabbing and "enter" and "spacebar" functionality to StatusBar - Cannot find a working mechanism. Any suggestions will be welcome. We cannot find a working solution without generating synthetic mouse clicks, which was rejected as a possible solution previously. #14853
- Add global keyboard shortcuts for all tab bar widgets - Has one approval, can this be merged after tests pass? #14799
-
Gabriel
- The company I work for (Quansight) is applying for a 2-year grant. Three main focus areas:
- Accessibility testing and infrastructure
- Authoring and rendering tools
- Capacity building (ongoing work, this meeting, giving talks, etc.)
November 16, 2023
Attendees
Name |
Affiliation |
GitHub |
T |
GCHQ |
@t03857785 |
M |
GCHQ |
@m158261 |
P |
GCHQ |
|
Gabriel |
Quansight Labs |
@gabalafou |
Tania |
Quansight Labs |
@trallard |
Afshin T. Darian |
QuantStack |
@afshin |
Notes
- T
- Linking JupyterLab and Lumino in Binder #15418 | Discourse Post
- Fix skiplink and add placeholder for additional skiplinks - Ready for merge? #14597
- Added tabbing and "enter" & "spacebar" functionality to statusBar - This is the PR still in draft. Need response on what can be done with what they want implemented as we have tried on our side. #14853
- Made Status bar accessible at 400% zoom - Pair programming not possible, please can feedback be provided on implementation #14854
- 400% Zoom Screen usability enhancements - made changes so Help menu bar can be seen but however the increase in spacing for the padding asked for couldn't be implemented with the amount of pixels we have. So need feedback on what should be done.#14766
- added aria labels to aid screen reader - awating review #15347 linked lumino PR #655
- Extend keystrokes to mod keys - implementation direction changed #637
- Accessibility Demo Branches - Need updating
Lumino JupyterLab Binder Workflow described by Mike:
- Developer opens PR on JupyterLab
- Leaves comment on PR that says something like "Bot, please link with Lumino @<sha>"
- GitHub action picks up comment, builds JupyterLab with Lumino SHA linked, creates Binder, and returns link to Binder
November 02, 2023
Attendees
Name |
Affiliation |
GitHub |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight Labs |
@gabalafou |
Mike |
Quansight |
@krassowski |
tonyfast |
materials genome foundation |
@tonyfast |
Notes
- T
- Discuss approach for aria-live when using commands (keyboard/command palette) #15048 #627
- Add overlay UI element - Further discussions were required around implementation, are these still ongoing? #633
- Fix skiplink and add placeholder for additional skiplinks - Ready for merge? #14597
- Meaningful labels are provided when user input is required - Awaiting review #15222
Added test for dynamic text spacing for launcher cards Merged - thank you! #15146
- Make Status bar accessible at 400% zoom #14845
- Add global keyboard shortcuts for all tab bar widgets - can we merge? #14799
- Added aria labels to aid screen reader - Review required please #15347
- Close launcher keyboard navigation (arrow keys) /Shortcut ("Delete" closes focused launcher) - Review required please #655
- Accessibility Demo Branches
- Tony https://github.com/Iota-School/notebooks-for-all/pull/75
- demo of the aria live activity logs
- demo of client side axe testing
- aria live discussion
Service for remote screen reader testing: Assistiv Labs
October 19, 2023
Attendees
Name |
Affiliation |
GitHub |
tonyfast |
|
@tonyfast |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight Labs |
@gabalafou |
R Ely |
Bloomberg |
@ohrely |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
Venkatesh Potluri |
Univ. of Washington |
@venkateshpotluri |
Sudheesh Singanamalla |
Univ. of Washington |
@sudheesh001 |
Notes
- Tony
- T
- Added tabbing, "enter" and "spacebar" functionality to StatusBar #14853
- Fix skiplink and add placeholder for additional skiplinks #14597
- Gabriel: I will check with Mike because it looks to me like this is ready to merge
- Meaningful labels are provided when user input is required #15222
- Ensure consistent link underline and color on hover #15181
- Addition of alt descriptions #15265
- Discuss approach for aria-live when using commands (keyboard/command palette)
- Discuss accessibility toggle Comment on extend keystrokes to mod keys
- Workflow requires approval from a maintainer #15271
- Gabriel: I left a review earlier today on #15271
- Accessibility Demo Branches
October 5, 2023
Attendees
Name |
Affiliation |
GitHub |
tonyfast |
|
@tonyfast |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight Labs |
@gabalafou |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
Afshin T. Darian |
QuantStack |
@afshin |
R Ely |
Bloomberg |
@ohrely |
Notes
September 21, 2023
Attendees
Name |
Affiliation |
GitHub |
Ely |
Bloomberg |
@ohrely |
T |
GCHQ |
@t03857785 |
Gabriel |
Quansight |
@gabalafou |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
tonyfast |
|
@tonyfast |
Tania A |
Quansight Labs |
@trallard |
Notes
- T: Lumino 633
- Tony says that generally speaking, character key shortcuts (e.g., using "a" or "x" without a modifier key) is discouraged for accessibility, but single numbers (1, 2, 3, etc.) is probably okay.
- Gabriel's updates since last time:
- I've been working a lot on PyData Sphinx Theme (PST). This is tangentially related, but the JupyterLab docs use PST. Click if you want to visit my PST issues and PRs. Mostly, I've been fixing Axe errors, doing an in depth audit, and generally learning more about accessibility, for example learning more about landmarks.
- Update on the notebook tap trap PR. Looks like we're going to try switching the keydown event system from capture to bubble.
- Very little availability for Jupyter accessibility the next three weeks.
- Isabela
- tony is going to demo an experiment in notebook structure designed to support a more robust screen reader experience.
September 7, 2023
Attendees
Name |
Affiliation |
GitHub |
Gabriel |
Quansight Labs |
@gabalafou |
Ely |
Bloomberg |
@ohrely |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
Tania Allard |
Quansight Labs |
@trallard |
Afshin T. Darian |
QuantStack |
@afshin |
Stephannie Jimenez |
Quansight Labs |
@steff456 |
- Gabriel's updates since last time
- Isabela
- Updated the PR to add these notes to the jupyter/accessibility docs. I will merge them in a week if no one else does. (And thanks to Darian for the review!)
- (Gab) I would be interested in going over the PR together in a quick call to spread the knowledge of how this is done
- Thank you Isabela

- Quick summary: 1. Copy the notes by meeting from this hackmd into new notes files (named by date). 2. Copy the notes by meeting from this hackmd into the bottom of the
all-minutes.md
file. 3. Update the relevant index.md
for where you added notes so that the notes appear in the navigation.
- Proposal: Set a one-year term for the Accessibility project's SSC representative has gone to vote with the accessibility council.
- I've also created a form to collect the names of council members interested in being our next SSC representative.
August 24, 2023
Attendees
Name |
Affiliation |
GitHub |
Afshin T. Darian |
QuantStack |
@afshin |
Isabela Presedo-Floyd |
Quansight Labs |
@isabela-pf |
P |
GCHQ |
@t03857785 |
Stephannie Jimenez |
Quansight Labs |
@steff456 |
Notes
-
Isabela
-
Gabriel
-
Stephannie
At the end of the meeting, Gabriel led a walkthrough of P&T's open PRs to get status updates and sync on them. Here's a quick recap:
- 14766 - Needs maintainer review and approval
- Gabriel does not feel comfortable pushing the approve button because there are parts of the PR (snapshots and stylelint directives) that he does not feel qualified to review.
- 14799 - Light, preventative review wanted.
- Design decision needed, but if the PR could still be lightly reviewed to catch anything that would cause further review cycles and delays, that would be great
- 14597 - Gabriel will (re)review.
- 14819 - Hold (review not needed at the moment)
- 14854 - Gabriel reviewed today. Next step: GCHQ team to respond to review.
- 14853 - Could use review
- 14987 - Could use review