jupyterlab / frontends-team-compass

A repository for team interaction, syncing, and handling meeting notes across the JupyterLab ecosystem.
https://jupyterlab-team-compass.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
57 stars 30 forks source link

Let's zoom a brainstorm? JupyterLab keyboard navigation and usage #210

Closed gabalafou closed 10 months ago

gabalafou commented 10 months ago

Edit: this meeting took place, notes from the meeting are in HackMD


Who?

Anyone interested!

In particular, end-users who care about keyboard-related issues in JupyterLab (shortcuts, tab-navigation, etc.) and anyone who has worked on these issues (designers, developers, etc.).

What?

A one-time Zoom meeting for people to join and brainstorm ideas around keyboard navigation in JupyterLab.

The meeting will be about generating ideas, not reaching decisions.

When?

August 30, 2023 at 17:00 UTC (click link for the time in your time zone)

90 minutes (but we don't have to use all 90 minutes)

Where?

Zoom! Zoom link in calendar event

Why?

  1. A number of PRs addressing various keyboard-navigation related issues have stalled in the jupyterlab repo, such as but not limited to the following:
  2. I believe that a brainstorming session could help unblock us.
  3. @SylvainCorlay has mentioned funding for keyboard-navigation related issues. A brainstorming session could be a useful input to that work.
  4. I have been brainstorming with myself for weeks and weeks, and at this point, I really need other brains to storm with :). There's always too many other agenda items in other calls to have the time and space that I think we as a community could benefit from by more open-ended ideating around this topic.

I will provide a bit more context later. But I wanted to get this up before the end of the week!

Notebook 7 or JupyterLab?

Both! I will provide more context later, but I want to encourage people to think about both Notebook 7 and JupyterLab when generating ideas to solve the keyboard navigation issues.

Notification plan

  1. Tagging people on this GitHub issue
  2. Sharing it on Discourse
  3. Sharing it in Gitter
  4. Sharing it in the next JupyterLab team meeting

Closing this issue

I will close this issue if any of the following have happened:

  1. A time for the brainstorming session is scheduled
  2. Someone asks me to move this issue somewhere else
  3. A decision is reached to not move forward with this event
welcome[bot] commented 10 months ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

gabalafou commented 10 months ago

Hi! I'm tagging you on this issue because I have reason to believe that you might be interested (because of work on keyboard issues, or accessibility, or windowed rendering). I'm sure I missed someone, so please please please tag anyone else you think might be interested!

cc @andrii-i, @t03857785, @isabela-pf, @trallard, @afshin, @fcollonval, @krassowski, @SylvainCorlay, @tonyfast, @ohrely, @marthacryan, @g547315, @vidartf, @scmmmh, @jasongrout, @GabrielaVives, @HaudinFlorence

trallard commented 10 months ago

I am interested! Let me know how I can be of help.

andrii-i commented 10 months ago

I am interested to participate as well.

Also wanted to link outcomes of workshop on keyboard shortcuts hosted by @GabrielaVives and @HaudinFlorence: https://github.com/jupyterlab/jupyterlab/issues/14240.

brichet commented 10 months ago

Nice @gabalafou, I'm am also interested to participate.

t03857785 commented 10 months ago

Definitely interested in joining this, if you agree a meeting I will do my best to join

scmmmh commented 10 months ago

Interest here as well, so please invite.

fcollonval commented 10 months ago

I'll try to join too.

gabalafou commented 10 months ago

Hi friends, I'm so excited to see so much interest! The next step is to figure out a time:

  1. :tada: August 23, 17:00 UTC. This is immediately following the JupyterLab weekly team meeting time slot.
  2. :rocket: August 30, 17:00 UTC
  3. :eyes: Other (please elaborate in a comment)

Please vote for your preferred time(s) using the emoji reactions. And if you think there's a better time, please don't hesitate to suggest it and explain why, thanks!

HaudinFlorence commented 10 months ago

I am interested to join with a preference for August 30th.

gabalafou commented 10 months ago

Okay, great! Let's do August 30th!

I asked to block out 90 minutes following the JupyterLab team call, but we don't have to use all 90 minutes.

Mark your calendars! 😄

GabrielaVives commented 10 months ago

Thanks for setting this up! I'll join as well.

gabalafou commented 10 months ago

HackMD link

We will be using HackMD, in addition to Zoom, to help guide discussion and take notes.

gabalafou commented 10 months ago

Closing issue because the meeting happened :)

gabalafou commented 10 months ago

Some of you might remember yesterday that there was a moment when I mentioned that keyboard navigation for screen reader users is probably a better story than keyboard navigation with just a keyboard and no screen reader.

I was going to try to screen-share demo what I meant, but it was a little too much for me at that moment to try to attend to the call while simultaneously running VoiceOver.

But this same topic came up in a pull request, and I left a comment there with a screenshot that explains what I was referring to yesterday in the call.

tonyfast commented 10 months ago

Some of you might remember yesterday that there was a moment when I mentioned that keyboard navigation for screen reader users is probably a better story than keyboard navigation with just a keyboard and no screen reader.

yea, i was lost when this hasty comment was made. the screen reader navigation of lab and notebook is not better, it is more confusing and reveals more WCAG failures. the best we can say at this point is there are landmarks. they are not assistive. and, landmarks are further complicated by the fact that they have different meanings in lab and notebook.

lab landmarks in orca

the figure above shows landmarks in lab with multiple notebooks open. the accNames for the regions are non-unique and failure WCAG. which notebooks cells? do i navigate to the toolbar directly? what can i interact with in the status bar that just called information? what is the main region? there is nothing interactive there. the repetitive, ambiguous naming should be considered for an assistive landmark navigation experience in lab.

in notebook, the main region is apparent. we can't have landmarks to multiple documents, document nagivation is handled by tabs in the browser. below demonstrates how the notebooks for all project is hoping to test to the assistiveness of including cells as landmarks for screen reader users.

landmark navigation of single notebook documents that exposes cells as regions

further, we'd want to consider headings as another way to navigate the document. currently, lab with multiple notebooks open will fail WCAG because there are multiple h1s. Screen readers organize the headers by level and will make obscure navigation experiences in multi document mode. Headings, in single document, make A LOT of sense, and even including code objects in the heading/landmark navigation could improve the developer experience and embrace the literate programming qualities of the notebook.

heading navigation in jupyterlab failing wcag h1 uniqueness

a focused event on landmarks, heading, and screen reader navigation might be a good workshop. accessibility bookmarklets could allow non screen reader users to understand these navigation pattern. this event would spend a lot of time considering the roles of elements, their accName, and their accDesc. understanding these relationships will improve the quality of the jupyter experience for everyone.