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

Track Jupyter Lab and Notebook Accessibility #3074

Open
2 of 5 tasks
balajialg opened this issue Dec 10, 2021 · 15 comments
Open
2 of 5 tasks

Track Jupyter Lab and Notebook Accessibility #3074

balajialg opened this issue Dec 10, 2021 · 15 comments
Assignees
Labels
enhancement Issues around improving existing functionality priority: high High priority tasks

Comments

@balajialg
Copy link
Contributor

balajialg commented Dec 10, 2021

Summary

Creating this issue to formulate our goals & actionable next steps for what accessibility looks like in Datahub and potential upstream improvements that need to be made to ensure that the service hits the defined campus accessibility milestones. One of the key stakeholders interested in Datahub hitting this milestone is RTL leadership, who have been vocal about us putting extra effort to improve tool's accessibility.

However, as we all know, we don't control the end-user experience of any of the Jupyter tools - Classic Notebook, Jupyter Lab, and Retro Lab. Considering this reality, we must actively evaluate the campus requirements, track whether those improvements get logged in relevant GitHub repositories, and track their development journey. If issues did not get tracked upstream, raise relevant GitHub issues in the respective repository so that the key stakeholders in the Jupyter ecosystem know this need. The main repository that tracks all the accessibility-related efforts in Jupyter is the Accessibility Repo.

Individual repositories tracking accessibility-related stuff include the following repositories,

How can we integrate with the upstream work happening in the Jupyter ecosystem to achieve the accessibility goals? Our current strategies are,

  • Be an early tester for Jupyter Lab 4.0 pre-release version. Deploy this version as part of a new hub and test for CM 6.0 changes pushed by QuantStack.
  • Share our goals with the timeline for the Quantsight folks. Support them interim in order to achieve the set goals.

Useful Documentation

Tasks to complete

  • Set up a new hub to test Jupyter Lab 4.0 pre-release version which contains the latest update to the Code Mirror editor @yuvipanda
  • Share Berkeley's accessibility goals + timeline with Quantsight folks
  • Test Jupyter Lab 4.0 when it releases in a11y hub
  • Test Jupyter Notebook 7.0 when it releases in a11y hub
  • Support Data8x edx course relaunch
@balajialg balajialg self-assigned this Dec 10, 2021
@balajialg balajialg added the enhancement Issues around improving existing functionality label Dec 10, 2021
@balajialg balajialg added this to To do in Datahub Project Board via automation Dec 10, 2021
@balajialg balajialg added this to To do in Spring 2022 Board Dec 15, 2021
@balajialg
Copy link
Contributor Author

balajialg commented Dec 16, 2021

@ericvd-ucb @yuvipanda Notes from 12/16 Accessibility Workshop! As @ericvd-ucb suggested, The next step would be to summarize the learnings about the accessibility improvements happening across the Jupyter ecosystem into a memo that could get shared with the leadership!

@ryanlovett
Copy link
Collaborator

@yuvipanda suggested in previous conversation that before the web accessibility clinic reviews datahub again, we should wait for jupyterlab to integrate the new CodeMirror editor (version 6 I presume which "was designed from the start with accessibility in mind"). Otherwise we are likely to see similar results as before.

@ryanlovett
Copy link
Collaborator

Here is the jupyterlab issue for integrating CodeMirror 6, jupyterlab/jupyterlab#10370.

@balajialg
Copy link
Contributor Author

balajialg commented Dec 17, 2021

@ryanlovett Thank you so much for circling back on the Code Mirror editor integration in Jupyter Lab. I went with the assumption that Code Mirror 6.0 was already integrated into the core interface which is not true as you clearly pointed out.

Your suggestion to wait till the CM 6.0 integration makes sense as already there are GitHub issues #1 and #2 from partner institutions which clearly documents the results from varied accessibility audit of Jupyter Lab. In high probability, we may not be adding anything new/novel to the conversation happening in this space.

However, I have a couple of questions/concerns,

  • There is no proposed timeline for this integration which makes it hard to know when to scope the campus accessibility audit.
  • No sign of CM 6.0 upgrade in Github issues for the retro lab (and classic notebook). Does that mean, any upgrade happening in the Jupyter Lab repo gets automatically ported into the retro interface?

I will not reach out to the accessibility audit team in the near future and wait for more clarity regarding CM 6.0 integration with retro lab & jupyter lab.

@yuvipanda
Copy link
Contributor

No sign of CM 6.0 upgrade in Github issues for the retro lab (and classic notebook). Does that mean, any upgrade happening in the Jupyter Lab repo gets automatically ported into the retro interface?

Yep, anything that happens in retrolab wrt the notebook UI, text editor UI, terminals, and file browsers automatically works in retrolab.

@balajialg balajialg moved this from To do to In progress in 2022-01 Sprint Board! Jan 20, 2022
@balajialg balajialg removed this from In progress in 2022-01 Sprint Board! Jan 31, 2022
@balajialg balajialg removed this from To do in 2022-02 Sprint Board! Feb 3, 2022
@balajialg balajialg moved this from To do to In progress in Datahub Project Board Feb 10, 2022
@balajialg
Copy link
Contributor Author

FWIW, Siteimprove gave an accessibility score of 94.3 for the datahub.berkeley.edu page.
image

@ryanlovett
Copy link
Collaborator

@balajialg That's great! It's probably very high since it didn't evaluate notebook or lab, but at least it means the landing page doesn't have a lot of problems.

@balajialg
Copy link
Contributor Author

@ryanlovett Not sure how I missed your comment! It makes sense. As a next step, I am trying to do the Siteimprove audit for the new datahub page and add recommendations for the black antelope team to work on.

@balajialg balajialg removed this from To do in 2022-04 Sprint Board Apr 29, 2022
@balajialg balajialg removed this from To do in 2022-05 Sprint Board Jun 6, 2022
@balajialg balajialg added this to To Do (Chores) in 2022-07 Sprint Board Jul 7, 2022
@balajialg balajialg moved this from To Do (Chores) to In progress in 2022-07 Sprint Board Jul 7, 2022
@balajialg balajialg changed the title Tracking Accessibility Improvements for Datahub! Track Accessibility Improvements for Datahub! Jul 20, 2022
@balajialg balajialg changed the title Track Accessibility Improvements for Datahub! Track Jupyter tools Accessibility upstream Jul 21, 2022
@balajialg balajialg changed the title Track Jupyter tools Accessibility upstream Track Jupyter tools Accessibility Jul 21, 2022
@balajialg balajialg removed this from In progress in 2022-07 Sprint Board Aug 2, 2022
@balajialg balajialg moved this from Done to In progress in 2022-08 Sprint Board Aug 2, 2022
@balajialg balajialg removed this from In progress in 2022-08 Sprint Board Aug 30, 2022
@balajialg balajialg removed this from To do in 2022-09 Sprint Board Oct 6, 2022
@balajialg balajialg added this to To do in 2023-03 User Board via automation Mar 2, 2023
@balajialg balajialg moved this from To do to In progress in 2023-03 User Board Mar 2, 2023
@balajialg
Copy link
Contributor Author

balajialg commented Mar 29, 2023

Beta version (4.0.0b0) of Jupyter Lab 4.0 (JL 4.0) which is the pre-release version for Jupyter Lab released a couple of days ago. The beta version of Jupyter Notebook 7.0 (JN 7.0) is currently a work in progress at the time of writing but we have the latest alpha version of JN 7.0 (Version 7.0.0a18) which can be audited.

To track the progress of a11y changes, I am comparing the results of running the Axe Deque tool against Jupyter Lab version 3.4.5, Retro Lab version 0.3.21, and Classic Notebook version 6.4.2 which were previously installed in Data 100 hub image against the latest releases which were installed in a11y hub. Note that the current releases only have Jupyter Notebook 7.0 and Jupyter Lab 4.0 as Classic Notebook interface did not get the a11y updates and will not be supported after 2 years and Retro Lab interfaces got renamed as JN 7.0.

To make the comparison apples to apples, I used the demo notebook for lecture 2 from Data 100 course work during Sp 23 for the a11y audit.

Sharing the snapshot of the results and the spreadsheet with issues generated from running automated a11y check using Axe Deque tool for,

Classic Notebook version 6.4.2

image

data100.datahub.berkeley.edu-2023-03-29.csv

Here is the snapshot of the results and the spreadsheet for

RetroLab version 0.3.21

image

data100.datahub.berkeley.edu-2023-03-29.csv

Here is the snapshot of the results and the spreadsheet for

JupyterLab version 3.4.5

image

data100.datahub.berkeley.edu-2023-03-29 (1).csv

Now, sharing the snapshot of the results and the spreadsheet for the latest

Jupyterlab version 4.0.0b0

image

a11y.datahub.berkeley.edu-2023-03-29 (1).csv

Sharing the snapshot of the results and the spreadsheet for

Jupyter Notebook version 7.0.0a18

image

a11y.datahub.berkeley.edu-2023-03-29.csv

@ericvd-ucb
Copy link
Contributor

Wow thanks @balajialg this is really hopeful!

@balajialg balajialg changed the title Track Jupyter tools Accessibility Track Jupyter Interfaces Accessibility Mar 29, 2023
@balajialg balajialg changed the title Track Jupyter Interfaces Accessibility Track Jupyter Lab and Notebook Accessibility Mar 30, 2023
@balajialg balajialg removed this from In progress in 2023-03 User Board Mar 30, 2023
@balajialg balajialg added this to To do in 2023-04 User Board via automation Mar 30, 2023
@balajialg balajialg moved this from To do to In progress in 2023-04 User Board Mar 30, 2023
@balajialg balajialg added the priority: high High priority tasks label Apr 3, 2023
@balajialg
Copy link
Contributor Author

balajialg commented Apr 5, 2023

Keyboard test results for JL 4.0:

image

Keyboard test results for JN 7.0:

image

@balajialg
Copy link
Contributor Author

balajialg commented Apr 5, 2023

Open issues with screen reader testing using nvda:

I installed the latest version of nvda (nvda version 2023) in my local device and allowed it to decipher a notebook from Data 8 course,

  • Screen reader did not decipher text included in images without accessible text (as seen in the snapshot below),
    image
  • Screen Reader did not decipher the output of running a code block (as seen in the snapshot below),
    image
  • Screen Readers did not identify icons (as seen in the snapshot below),
    image

@balajialg
Copy link
Contributor Author

Tagging @jtpio - Feedback shared from testing beta versions of JL 4.0 and JN 7.0 using Axe Deque and Nvda in the previous comments. Hoping that you are aware of some of the issues highlighted above.

@jtpio
Copy link
Contributor

jtpio commented Apr 20, 2023

Thanks @balajialg for the ping.

Also cc @brichet who has been helping with accessibility in JupyterLab and Notebook 7.

@brichet
Copy link

brichet commented Apr 24, 2023

Thank you for sharing these tests @balajialg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issues around improving existing functionality priority: high High priority tasks
Projects
Development

No branches or pull requests

6 participants