Jupyter accessibility meetings 2021#

01.13.21 Meeting Minutes#

Attendees#

Max @telamonian Thomas @manfromjupyter Martha @marthacryan Jason @jasongrout Tony @tonyfast Isabela @isabela-pf Darian @afshin
Alex @ajbozarth

Happy new year!

Hooray for JupyterLab 3.0! Congrats and kudos who everyone who worked hard on it.

What are people working on?#

Go around the meeting area and ask.

What we need to work on#

We need to take stock of what’s being worked on and split up the work we know we need to do.

  • Here is the project for tracking accessibility (should have all issues and PRs we know of)(can be reorganized if we have different needs for sorting).

  • First priorities include:

  • #9491 This will make it possible to evaluate JupyterLab with a screenreader so we can both be aware of more problems and actually check that fixes are working.

  • #9399 (broken up into steps on the project, click on card to make issue when we are ready to work on it). WCAG 2.1 specifications.

  • Editor? Is #4878 a first priority right now?

  • Right to left (RTL) language support?

    • We will likely be working in areas where these changes need to be made for labeling reasons, so we may want to see if we can include this support at the same time. Especially now that we have RTL language transalations for JLab to test it with (Gonzalo knows more). More info in issues #3046 and #1163.

Other Notes#

  • Feedback on accessibility event funding.

    • Update: Probably shouldn’t rely on it. It’s status isn’t certain with the pandemic.

01.27.21 Meeting Minutes#

Attendees#

(oops! No one signed in today so I gave my best guess.) Max @telamonian Thomas @manfromjupyter Martha @marthacryan Jason @jasongrout Tony @tonyfast Alex @ajbozarth Karla @karlasupldaro Isabela @isabela-pf

What are people working on?#

  • How is everyone doing?

    • Come up with different intro questions :upside_down_face:

  • Does it make sense to have these meeting notes documented outside an issue? I think there’s enough content there that it’s hard to navigate if you aren’t just looking for the first or last comment. - Yes! Let’s propose a place in the Jupyter accessibility repo.

  • Can we make an issue about adding accessibility tests to the JupyterLab development process? - I was reminded by the discussion started on JupyterLab Classic #80. - I’ve also listed some existing tests. We should review these to see if they could work or give us a baseline for working with lumino or jupyterlab components. - squizlabs / HTML_CodeSniffer - IBM’s accessibility-checker - AccessLint / accesslint.js - pa11y / pa11y - dequelabs / axe-core

  • Should we also make an issue reminding us to make accessibility docs as we make all the WCAG and other changes?

  • Check in! In the JLab team meeting, we have accessibility listed as an issue people are working on within the JLab 4.0 timeline. What scope do we want to report? Are we working on #9339 and #9491 only right now, or is someone planning to work on the editor? - #9339 and #9491 for sure. Editor changes are still being researched so mark it as possible but uncertain.

  • Max started working on #9491

    • Probably JupyterLab and not lumino level fixes.

  • Martha

    • #9622 blocked by small translation issue

    • Needs review or advice how to proceed.

    • Otherwise ready to merge (Thomas tested it!)

    • #149 Merged!

  • Tony

    • #9648

    • With Max’s PR, this should cover #9491!

    • Tony’s PR should cover all landmarks.

    • Only thing left is making it so screen readers can access those different labels.

    • How does this interact with JLab themes? We need to test what this PR means visually.

Other Notes#

  • Spatial experience and vision

    • Thomas says you are generally not supposed to label things that will be accessed via screen reader with left, right, here, so on because it doesn’t really mean anything to those users.

    • In CSS classes or other areas not accessed by a screen reader, this is okay.

  • Tab index convention

    • Seems like the main recommendation is to set everything to tabindex 0 (because it defaults to the browser).

    • Does this work for JupyterLab?

    • -1 means you aren’t going to see it. For example a is a tab and buttons are tabbed, so there is possibility for things being tabbed twice. So sometimes -1 is to avoid redundancy.

    • Tabs are only for people to jump to those regions. They do not define the region or header/hierarchy. But tab puts you in those places to then announce the region or header.

Merged PRs (let’s celebrate!)#

Next steps#

  • Isabela

    • Propose moving accessibility meeting notes to the accessibility repo so they are easier to search.

    • Follow up on test/CI ideas

    • Update accessibility project with merged PRs

    • Start issue for adding accessibility page to docs

    • Add resources to contributing guidelines encouraging people to read up on accessibility.

  • Thomas

    • Will note the next five steps they recommend focusing on and make relevant issues.

  • Martha

    • Work on #9622

  • Max

    • Review Martha’s #149 PR

    • Work on PR for #9491

  • Tony

    • Continue on #9648 reviewing visual impact and with a JupyterLab-style class name.

02.10.21 Meeting minutes#

Attendees#

  • Max @telamonian

  • Tony @tonyfast

  • Alex @ajbozarth

  • Martha @marthacryan

  • Jason @jasongrout

  • Isabela @isabela-pf

  • Nick @bollwyvl

  • Thomas @manfromjupyter

What are people working on?#

  • Keyboard shortcuts and default keyboard navigation with assistive devices. This Came up with this PR JLab #9031 but it seems like it could be a bigger discussion for understanding how these things interact now and in the future.

    • Thanks to Thomas for replying here!

  • Max has been working on a new filebrowser. Trying to bake accessibility in on a low level. Issue with notes:

    • https://github.com/jpmorganchase/regular-table/issues/114

    • Using the WAI ARIA spec for grid and table properties. These not only need regular labels, but also descriptions for how they are nested and a flag for the position.

    • Max would like feedback/for someone to test it with a screenreader.

    • This is a really helpful exploration that should help us with other tables used in JupyterLab. Further references with a treegrid example are here.

  • Question on Max’s lumino PR conflicts with https://github.com/jupyterlab/jupyterlab/pull/9622 - Martha reviewed it and is clarifying what labels they are using across PRs so that they are consistent.

  • Martha’s PR at #9622 is ready for final review and to be merged after one more commit to match labels across PRs.

  • Nick

    • For testing: pa11y -s, –standard the accessibility standard to use: Section508 (U.S. focused), WCAG2A, WCAG2AA (default), WCAG2AAA – only used by htmlcs runner

    • numfocus GSoC team would be a solid team for working on accessibility docs

Other Notes#

  • Isabela opened

    • #9742 because I’ve had some people asking me about accessibility tests elsewhere and I wanted a place to collect the discussion as it relates to JLab.

    • an issue on the accessibility repo about best practices for accessibility docs

  • As a last check, remember to ask yourself if things need to be translated. - ARIA values usually need it - Table headers might need to be translated? This is worth further research. - Data in a table does not need to be.

  • Funding discussion

    • Possible Canadian grant: https://accessible.canada.ca/advancing-accessibility-standards-research/funding

    • NSF, NIH, DoE (both of them) NSF future of work https://www.nsf.gov/pubs/2021/nsf21548/nsf21548.htm

    • Does documentation seem like a good project to get outside help on?

  • Accessibility workshop updates! There isn’t something we can share now, but people are working on it and there should be updates in the next few weeks.

Merged PRs (let’s celebrate!)#

  • Tony merged #9648! :tada: Thanks to Thomas, Martha, and Max for reviewing it! Congrats, all!

02.24.21 Meeting Minutes#

Attendees#

  • Jason Grout @jasongrout

  • Saul Shanabrook @saulshanabrook

  • Tony @tonyfast

  • Isabela @isabela-pf

  • Alex @ajbozarth

  • Max @telamonian

  • Martha @marthacryan

  • Adam @adpatter

  • Thomas @manfromjupyter

  • And more!

What are people working on?#

Other notes#

Next Steps#

  • Set up binder to show lumino changes instanly for development testing. (Tony, Martha, maybe Max)

  • Get merge rights for accessibility repo (Isabela)

  • Gather a set of resources/guides to help start up our newcomers.(Isabela)

  • Add specific example to lumino development docs that shows how to link it up to JupyterLab (?)

  • Rebase #9622 to have it ready for review (Martha)

  • Next week meeting to get people up to speed on accessibility efforts (Isabela, Tony, Saul)

  • Review #9399 so you get context for what we are doing and we have a good place to start talking (Anyone trying to catch up on our current work)

03.10.21 Meeting Minutes#

Attendees#

  • Gonzalo

  • Jason

  • Q

  • Saul

  • Tony

  • Nick

  • Thomas

  • Karla

  • Martha

  • Isabela

What are people working on?#

  • Isabela

    • Looking into writing a CZI grant with the support of Tania and maybe Tony? Just an FYI. I will keep you updated.

    • Trying to write a roadmap of what we are doing that is not just a Github project or made of issues because people keep asking me what we are doing.

  • Tony

    • nbconvert

      • nbconvert jinja templates are not accessible, they are just divs. If we made them header elements, then nbviewer will be accessbile

        • Thomas: Could make them accessible just with roles

        • nbiewer: https://nbviewer.jupyter.org/

        • For context nbviewer is a “notebook viewer”.

        • Thomas: Why make them look good? Search engine optimization?

        • Nick: There is no SEO, all robots turned off. Its a way public notebooks can be shared

        • This could be a good first issue (because no typescript!)and it still imapcts the comunity.

    • binder for jupyterlab development making changes in lumino jupyter/accessibility #20.

  • Thomas

    • Get all the low vision stuff in one place so people can start jumping into it

    • Ask Gonzalo a question to follow up on internationalization work and overlap with low vision/zoom support. Where are the packages

  • Saul

    • A lot of this work seems to be focused on helping folks with vision problems. Have any of them come on this working call? Possibly related to grants, for paying people to help diagnose what the main problems are?

      • At least one person has. Many people don’t necessarily disclose why they have the knowlegde they do for us, so I’m unsure.

  • Martha

    • Needs to follow up on Max’s lumino PR and move forward as much as she can with the related JupyterLab PR. :)

Other notes#

  • Follow up on accessibility workshop meeting (two weeks ago)?

    • There should be an email this week following up with people who expressed interest in running workshops to check if they are still interested

Next Steps#

  • Review deathbeds/accessibility #4. (Isabela)

  • Edit/update jupyter/accessibility readme to have accurate information about these meetings. (Isabela)

  • Get a roadmap draft ready for review (Isabela)

  • Review jupyter/accessibility #20. (Isabela)

  • Martha - finish review of Max’s lumino PR so that the JL PR can be rebased off of that

    • Actually just took another look and approved

  • Start funding/grant discussion for jupyter/accessibility to keep people updated and support other opportunities. (Isabela)

  • Publish language packages that have full localization so people can test them (Gonzalo)

04.07.21 Meeting Minutes#

Attendees#

  • Martha

  • Max

  • Tony

  • Jason

  • MJ

  • Jessica

  • Thomas

  • Tania

  • Isabela

What are people working on?#

  • Martha

    • Checking out the focus part of this issue. Not sure if changes are for lumino or JL but I suspect it’s lumino

    • There’s also no visual indicator of focus which has made this more difficult to test. Browser dev modes should be able to expose this.

  • Isabela

    • Coming back to jupyterlab/jupyterlab #8832 with the sidebar and command palette. I’m trying to unpack where all the elements I need to change are in the code.

    • Closing issues in the accessibility repo.

  • Thomas

    • Tried to set up local JLab for development. Got blocked but will return.

  • Jessica

    • Checking in about whether or not/how arrow keys are reserved for keyboard navigation in order to move forward with an issue.

    • Using just arrow keys is not best practice. It’s best they are reserved.

  • Tony

    • Has been looking into accessibility testing ecosystem. Lots of JS tools, no Python tools. Some component systems seem to have built in support.

    • How do we move forward with this? Should there be an extension? Can we have this in core JupyterLab?

  • Jason

Other notes#

Next Steps#

04.21.21 Meeting Minutes#

Attendees#

  • Max

  • Tony

  • Isabela

  • MJ

  • Thomas

  • Martha

What are people working on?#

  • Martha

    • Found out that JLab has a focus manager that might override native browser focus (which could cause us a lot of accesibility problems potentially). It looks like this might not cause a problem because

    • It is inherrited from lumino

    • Merged jupyterlab/lumino #174 setting tabindex to 0 in the menubar. Be on the look out for if this breaks anything unexpectedly.

    • Thomas says the only reason he can think of that you can hard code a tabindex is if you need an area to be focused first, but it’s better practice to rearrange the HTML to do what you want.

    • role=menuitem needs a tabindex assigned to make sure this gets the proper treatment.

    • Menu items also need a disabled ARIA label.

    • Closed #9491 :tada:

  • MJ

    • Draft PR jupyterlab/jupyterlab #10126 for proof of concept making sure the skiplink is going in the right place. Looking for feedback on where that component fits in JupyterLab’s architecture.

    • Thomas says skiplink always needs to be the first thing on a page, all hacks aside.

    • Max says it might make the most sense to implement it as a widget and add it that way. Put the generalizable part of the code into the widget and the rest elsewhere.

    • Martha and MJ think it might make more sense to add it to an existing widget because it is a small amount of code and should be in all front ends. If that’s the case, Martha and Max think labshell in here in shell.ts is the best place for it to live not as an extension.

  • Tony

    • Integrated Galata and axe-core to get some testing and automated reports started.

  • Isabela

    • First round of CZI grant application was accepted so we’ll be working on the next step. You can read the full letter of intent at jupyter/accessibility #44. I think we’ll also be looking for community review for this next step?

    • Workshop updates on jupyter/accessibility #43. I’m trying to follow up with that.

    • My attempts on fixing color contrast in the sidebar and command palette have a very very very draft PR at jupyterlab/jupyterlab #10101. I may not be capable of making all the changes I want myself, but I am trying to do all I can on my own first.

Next Steps#

  • Be aware of the focus manager and be on the look out for any problems it might cause (everyone)

  • Work on the skiplink PR based on in-meeting feedback and let us know when it’s ready for review! (MJ)

  • Get a testing demo running (Tony)

  • Fix CZI PDF PR to be in a different directory (Isabela)

  • Work on the sidebar and command palette color contrast PR and let us know when it’s ready for review (Isabela)

05.05.21 Meeting Minutes#

Attendees#

  • Max

  • Tony

  • Isabela

  • MJ

What are people working on?#

  • MJ

    • Looking for review on jupyterlab/jupyterlab #10126, a pull request to address skiplink needs discussed at #9688.

    • Martha and Max followed up, thank you!

    • It seems like a suggestion may have broken the implementation, so we are trying to get it working again.

  • Isabela

  • Tony

    • How do we keep up community momentum?

Next Steps#

  • Changes to get skiplink merged

  • Grant writing update and public review

05.19.21 Meeting Minutes#

Attendees#

  • Jason

  • Thomas

  • Martha

  • Tony

  • Max

  • Sophie

  • Max

What are people working on?#

  • We did introductions since we had new attendees! Hooray!

  • Sophie

    • Interested in getting an overview of what we are doing here and what needs to be done still.

    • May have interest in mentored sprints or other community events to help get a Jupyter interface accessible.

  • Martha

  • Isabela

    • Workshop funding follow up jupyter/accessibility #43. Need feedback on “the jupyter/accessibility team have the best visibility onto what would make the most impact. What advise would you have for how to best use these resources?”

    • CZI grant submitted. We won’t hear for a few months, so I’ll be back to color contrast.x

  • Jason reviewed skip links implementation: https://github.com/jupyterlab/jupyterlab/issues/10268

    • Follow up with MJ about availability

Next Steps#

  • Follow up on skiplink status (Isabela)

  • Next steps for keyboard navigation (check for positive tab index values, potential skiplink next steps) (Martha)

  • Workshop follow up (Everyone can post at #43)

  • Color contrast PR jlab #10146(Isabela)

  • Binderhub AWS policy

Priority issues: https://github.com/jupyterlab/jupyterlab/issues/9399

06.02.21 Meeting Minutes#

Attendees#

  • Max

  • Thomas

  • Tony

  • Kevin

  • Jason

  • Sophie

  • Martha

What are people working on?#

Next Steps#

  • Review github project to make sure it’s accurate and target next steps for work (Isabela)

  • PR with docs for Nick’s magic lumino + jlab binder

  • Follow up on RTC and accessibility. What are next steps for making progress there? (Isabela)

    • https://workspaceupdates.googleblog.com/2019/08/real-time-collab-accessibility.html

    • Thomas: “I think easiest way to do the RTC piece for screenreaders AFTER the product supports reading and editing first, would be to just add screenreader only alerts that simple says ‘Tony recently edited the document.’ Could say what they added for extra credit. The WCAG requirement now is merey that they are ntofiicated if ‘content changed dynamically’”

  • Get #10146 for color contrast to a review state (Isabela).

  • Follow up about CodeMirror 6 (Isabela and Kevin)

  • Follow up about accessibility workshop jupyter/accessibility #43

06.16.21 Meeting Minutes#

Attendees#

  • Oops! No one signed in.

What are people working on?#

  • Isabela

    • #10146 was merged! This made some color contrast fixes to the filebrowser and command palette.

    • There are still more to-do fixes on the issue it draws from. Has anyone worked on/know where the various search UIs (in the file browser, command palette, and/or extensions) are in the code base?

    • I’m going to the BinderHub team meeting later today to follow up on the AWS blocking and get request a long-term solution.

    • Accessibility workshop follow up! We are aiming to have an event by late August/early September.

    • Someone pointed me to W3C’s Authoring Tool Accessibility Guidelines. Passing it on.

  • Kevin and Cameron

    • Accessibility considerations in RTC commenting?

07.14.21 Meeting Minutes#

Attendees#

  • Darian

  • Tony

  • Martha

  • Nick

  • Isabela

What are people working on?#

  • Isabela and Tony

    • Jupyter Accessibility Workshop

      • We discussed an alternative sprint method for adding alt text to documentation. This does not create regular contributors, but it might solve a big problem and help people learn about accessibility.

      • What could be another goal? Getting a group of people who want to be involved with Jupyter but don’t know how a place to start.

  • Martha

    • Looking for feedback on lumino #187. - Darian says that this should be two PRs. One for focus. One for the expected keyboard bindings.

    • Is this PR still viable? jupyterlab #6369

      • It is a draft, so we can’t do anything to the existing PR. At best we could open a new PR.

Next steps#

  • Remove keybindings work on lumino #187 and mark it ready for review (Martha)

  • Start new lumino PR for keybindings and focus in menus (Martha)

  • Test documentation sprint on July 21 (Tony and Isabela) (and anyone else who wants to join!)

  • Review jupyterlab #8832 and jupyterlab #1008 for next steps on color contrast (Isabela)

07.28.21 Meeting Minutes#

Attendees#

  • Tony

  • Isabela

  • Martha

  • Carlos

  • Jessica

What are people working on?#

  • Martha

    • Merged jupyterlab/lumino #187 :tada:

    • Looking for next thing to work on!

      • Maybe the next step for skiplink to make there by a list of skiplinks for the different areas. Most recent skiplink PR

  • Carlos

    • Curious about what is happening here!

    • We talked about testing some. Maybe recording and comparing videos might help for tracking interactions and avoiding accessibility regressions.

    • Playwright? blog post

    • How can we support projects

  • Isabela

  • Jessica

    • Curious about intersection of accssibility & internationalization effort i.e alt text in non-English?

Next steps#

  • Review jupyterlab #8832 and jupyterlab #1008 for next steps on color contrast (Isabela)

  • Test documentation sprint with NumPy on July 28 (Tony and Isabela) (and anyone else who wants to join!)

08.11.21 Meeting Minutes#

Attendees#

  • Martha

  • Isabela

  • Jason

  • Max

  • Nick

  • Mike

  • Jenn

  • Erik

What are people working on?#

Next steps#

08.25.21 Meeting Minutes#

Attendees#

  • Nick

  • Martha

  • Jason

  • Tony

  • Isabela

  • Max

What are people working on?#

Next steps#

  • Follow up with the trademark committee (Max)

  • Update PyData sphinx theme PRs for Lighthouse and pa11y testing. (Nick)

  • Ask Martha about explaining how accessibility needs to fit in to Jupyter (Isabela)

  • Follow up/finish alt text guide for workshop (Isabela)

09.08.21 Meeting Minutes#

Attendees#

  • Jason

  • Isabela

  • Max

What are people working on?#

Next steps#

  • Formal announcement of accessibility workshops (Isabela and Tony)

  • Connect with other community workshop people (Isabela)

09.22.21 Meeting Minutes#

Attendees#

  • Martha

  • Mike

  • Tony

  • Isabela

  • Kevin

  • Jessica

What are people working on?#

  • Tony

    • We’ve been focusing on proposals and planning, but less on JupyterLab specific.

    • Where does RetroLab fit with #9399

  • Mike

    • Navigating cells in notebook with a keyboard is difficult. Mike has been working on something locally to resolve this, but it likely won’t be in PR form any time soon because of other projects.

    • If anyone is working on this area of code or the interface, please let him know.

    • Mention him if you are looking for review on PRs.

  • CodeMirror 6

    • Still in the air because it will break things so we need someone willing to stand behind breaking things.

    • Kevin has some knowledge about CodeMirror 6 and may be a good point of contact for this.

    • How does rich text fit in with this? Does it make sense to have rich text cells? (ProseMirror or https://www.tiptap.dev/?)

Next Steps#

  • Talk about CodeMirror 6 again at the beginning of October

10.6.21 Meeting Minutes#

Attendees#

  • Jason

  • Tony

  • Adam

  • Martha

  • Isabela

  • Ely

  • Thomas

What are people working on?#

  • Adam

    • Lumino documentation is lacking and it can interfere with this work.

    • Who would document, give a tutorial, talk, anything?

  • Isabela

    • Grant process has begun! Myself and people in charge of me are working on bringing in new people to spend dedeicated development time on this.

    • I’m watching this ipython/ipython PR and hoping to see it merged.

  • Tony

  • CodeMirror 6

    • Estimated to take at least one month for a single full-time developer

    • 5 and 6 don’t have full parity, so that path isn’t perfectly clear. You need to account time for that.

    • Kevin is interested in this and would like to work with others.

    • Martha may also be able to help!

Next Steps#

10.20.21 Meeting Minutes#

Attendees#

  • Tony

  • Jessica

  • Nick

  • Mike

  • Karolina

  • Martha

  • Jenn

  • Ely

  • Isabela

What are people working on?#

  • Isabela

    • Jupyter accessibility workshops are going through budget approvals now. That’s where I’ll be halfway through our meeting today.

    • October 25 I will have someone starting with development time devoted to JupyterLab accessibility. Yay! You’ll get to meet them soon. (This is made possible by the CZI EOSS grant)

    • This also means I’ll have devoted time for accessibility again, so this will help me go back to making contributions.

  • Jenn

    • funding question

    • needs to be scoped

    • can have external partners

    • needs follow up

  • Mike: just highlighting file system review in https://github.com/jupyterlab/design

    • Extensions and accessibility assessment. Are extensions in the JupyterLab organization the next step?

    • is there an accessibility repo?

Next Steps#

  • Follow up with Jenn about funding (Isabela+)

11.03.21 Meeting Minutes#

Attendees#

  • Jason

  • Martha

  • Nick

  • Tony

  • Frederic

  • Mike

  • Adam

  • Isabela

  • Jenn

  • Gabriel

  • Jessica

  • Tania

  • Karolina

What are people working on?#

Next steps#

11.17.21 Meeting Minutes#

Attendees#

  • Martha

  • Ely

  • Jason Grout

  • Jason Weill

  • Tony

  • Mike

  • Frederic

  • Gabriel (Quansight, @gabalafou)

  • Nick

  • Adam

  • Karolina

  • Isabela

What are people working on?#

12.01.21 Meeting Minutes#

Attendees#

Name

Organization

GitHub Handle

tony fast

quansight

@tonyfast

R Ely

Bloomberg

@ohrely

Chadi Abi Fadel

American University of Beirut

@real-slim-chadi

Isabela Presedo-Floyd

Quansight Labs

@isabela-pf

Frederic Collonval

QuantStack

@fcollonval

Gabriel Fouasnon

Quansight Labs

@gabalafou

What are people working on?#

12.15.21 Meeting Minutes#

Attendees#

  • Ely

  • Tony

  • Gabriel

  • Mike

  • Isabela

  • Saeeda

  • Chadi

  • Martha

  • Carlos

  • Jenn

What are people working on?#