berkeley-dsep-infra / datahub

JupyterHubs for use by Berkeley enrolled students
https://docs.datahub.berkeley.edu
BSD 3-Clause "New" or "Revised" License
63 stars 39 forks source link

Track Jupyter Lab and Notebook Accessibility #3074

Open balajialg opened 2 years ago

balajialg commented 2 years ago

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,

Useful Documentation

Tasks to complete

balajialg commented 2 years ago

@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 commented 2 years ago

@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 commented 2 years ago

Here is the jupyterlab issue for integrating CodeMirror 6, https://github.com/jupyterlab/jupyterlab/issues/10370.

balajialg commented 2 years ago

@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,

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 commented 2 years ago

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 commented 2 years ago

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

ryanlovett commented 2 years ago

@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 commented 2 years ago

@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 commented 1 year ago

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 commented 1 year ago

Wow thanks @balajialg this is really hopeful!

balajialg commented 1 year ago

Keyboard test results for JL 4.0:

image

Keyboard test results for JN 7.0:

image

balajialg commented 1 year ago

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,

balajialg commented 1 year ago

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 commented 1 year ago

Thanks @balajialg for the ping.

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

brichet commented 1 year ago

Thank you for sharing these tests @balajialg