-
Notifications
You must be signed in to change notification settings - Fork 29.3k
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
Feature request: Accessibility support for Jupyter notebooks in VSCode #90408
Comments
(Experimental duplicate detection) |
@mltony thanks for your feedback. May I ask if you are currently using the Python extension which provides the notebook experience in VS Code now? For now, you can file issues against them if you are using that heavily https://github.com/microsoft/vscode-python and IMHO the cursor movements related issues are not that hard to fix. At this same time, we are also looking into how to provide a decent notebook experience in VS Code core. We will make sure that we have a good accessibility story for notebooks. Our accessibility champion @isidorn asked me last week that if I need any help/advice on accessibility in jupyter notebook, I'm sure we can use his expertise in this area. Thanks again for chiming in and providing concrete examples for accessibility issues you currently have with Jupyter Notebook! |
Agree with what @rebornix pointed out. For reference here's the Notebook branch which is currently work in progress https://github.com/microsoft/vscode/tree/rebornix/notebook @rebornix assignign this for now for February, and if we do not find time we can post pone for next milestone. |
@rebornix let me know when notebooks are in a good state to try out and provide feedback. For now unassigning myself from this issue and I would be happy to try this out and provide feedback, so just ping me. |
Hi, I wanted to know if IPython notebook interface is screen reader accessible in VSCode. I tried loading a notebook but find the screen reader experience confusing an inaccessible. Is there documentation that I can look at, on using notebooks inside VSCode with a screen reader? Thanks! |
@venkateshpotluri thanks for offering help! Currently the new/native notebook support in VS Code is not fully accessible so I would love to sit together with @isidorn to go through all details and figure out what are missing before asking you to try. Will keep you posted. |
Hello, I am a screen-reader user. As far as I tested with the insider version (Commit: f5d3ba4), Jupyter Notebook in VSCode is not fully accessible. Unlike Google Colab, the accessible mode is not activated for Jupyter Notebook in VScode. You should be able to switch on the accessible mode within Jupyter editor by pressing Alt+F1, followed by Ctrl+E. Then, the default Jupyter editor should be made accessible via Monaco editor. However, it does not work in VSCode. In sum, accessible Monaco editor for Jupyter Notebook is not enabled so screen readers say "blank" repeatedly in editor area. Hope this helps. |
@jooyoungseo thanks a lot for providing feedback. We plan to organise one accessibility call in the next couple of weeks where the focus will be Notebook accessibility in VS Code. Let us know if you would like to join fyi @sana-ajani |
Thanks for the update @isidorn, but the latest commit (6c8c600) does not seem to have resolved the original issue. Inside a Jupyter Notebook cell, I pressed Alt+1, followed by Ctrl+E, and I heard the following message:
However, the Notebook cell still remained inaccessible, meaning that screen readers (e.g., JAWS and NVDA) do not read anything in the editor. I don't think I will be able to attend the accessibility meeting this time, but thanks for the invitation! |
@jooyoungseo I just tried it out and this works fine for me both on Mac and Win.
@rebornix is this week on vacation, but once he gets back next week I plan to do a detailed test pass over notebooks and try to help him to improve the notebook accessibility experience. |
Still, neither NVDA nor JAWS reads cell content in document mode (AKA, forms mode), which means you are not heard back when moving your system caret inside the cell editor. Although they read the content in browse mode (AKA, virtual cursor). I have tested with several *.ipynb files. |
Hi, I'm blind and I'm tring to use vscode with jupyter extension. I can use almost everything, but I'm also having the problem to read the output. I can't know whether the cell is running or not, as well as the result. I press ctrl+shift + u, but it's not accessible. |
@Hypokeimenon thanks for letting us know. |
@isidorn -- Four suggestions to make the current Jupyter Notebook support more accessible for screen reader users:
In cell edit mode, it is very confusing and embarrassing for screen readers to move their focus to the next and previous notebook cells when not intended. Similar to Toggle Tab Move Focus (Ctrl+M), it would be more accessible and less confusing for screen reader users to decide whether they want to move between cells via arrows or not explicitly.
Currently, when cell edit mode focus crosses the cell border line to either the previous or next cells with up/down arrows, only text information is announced to indicate the current cell location. This is definitely better than nothing; however, when users quickly press up/down arrows to review their cell content, this kind of text alert is not as obvious as we want. I suggest providing an audio cue that users can toggle to indicate the border line of each notebook cell. This way would allow screen reader users to easily identify the cell ending/starting point by sound.
Currently, the notebook cell output area is marked up as
I have noticed that the Jupyter Variables table semantics are broken against accessibility. For example, "Name", "Type", "Size", and "Value" need to be marked up with |
- [ ] auto-scroll when the current cell output is clipped by the viewport
…On Sun, Oct 16, 2022, 6:14 PM JooYoung Seo ***@***.***> wrote:
@isidorn <https://github.com/isidorn> -- Three suggestions to make the
current Jupyter Notebook support more accessible for screen reader users:
1. Need an accessibility feature to toggle lock focus to the current
notebook cell
In cell edit mode, it is very confusing and embarrassing for screen
readers to move their focus to the next and previous notebook cells when
not intended. Similar to Toggle Tab Move Focus (Ctrl+M), it would be more
accessible and less confusing for screen reader users to decide whether
they want to move between cells via arrows or not explicitly.
1. Need an audio cue to indicate when users going to the previous and
next cells.
Currently, when cell edit mode focus crosses the cell border line to
either the previous or next cells with up/down arrows, only text
information is announced to indicate the current cell location. This is
definitely better than nothing; however, when users quickly press up/down
arrows to review their cell content, this kind of text alert is not as
obvious as we want. I suggest providing an audio cue that users can toggle
to indicate the border line of each notebook cell. This way would allow
screen reader users to easily identify the cell ending/starting point by
sound.
1. Need a clearer landmark and label for notebook output area.
Currently, the notebook cell output area is marked up as role = "list".
This means all the notebook cell output is included in a list container.
List is not a good way to indicate this important result area. I recommend
using other effective landmark region semantic with a proper aria label so
that screen reader users can more easily identify this area.
—
Reply to this email directly, view it on GitHub
<#90408 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAMNS576TZUMIZ7FWEBFJTWDR437ANCNFSM4KSX4K5Q>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
@westurner, I don't see the any settings, called "auto-scroll when the current cell output is clipped by the viewport" The following two settings do not work for disabling the auto-scroll in cell edit mode {
"interactiveWindow.alwaysScrollOnNewCell": false,
"output.smartScroll.enabled": false
} |
@minsa110 -- What do you think about the four suggestions that I shared above? I feel like the first point is especially critical and needs to be improved as the first priority. |
Hi @jooyoungseo, thank you for the feedback and for the ping! For microsoft/vscode-jupyter#1 and microsoft/vscode-jupyter#2, can you try turning this off in the settings and let us know if that addresses those issues? For microsoft/vscode-jupyter#3, I've routed the issue to the Jupyter team here: #168814. For microsoft/vscode-jupyter#4, we have a few issues filed here for Variables Viewer accessibility: https://github.com/microsoft/vscode-jupyter/issues?q=is%3Aopen+is%3Aissue+label%3Aaccessibility+variable+viewer. To set expectations, these issues will likely not be addressed immediately because our variable viewer was implemented through |
@minsa110 Seems like the other issue was closed. I have been teaching python and this semester will teach some core pandas and related methods for a class with a visually impaired student who uses screen reader. We tried using VSCode but we had ran into the output issue, when prompted to read NVDA would start reading the whole notebook content (including code), and there was no way to access the cell output. Would love to know whether there is any way I can help with this issue, since #168814 seems to have been closed due to missing information. |
@joseluizn -- Until they come up with a better solution, I recommend you and your student use Quarto and its VSCode extension.
{
"quarto.render.previewReveal": true,
"quarto.render.renderOnSave": true,
"quarto.render.previewType": "external"
} |
@jooyoungseo Thank you very much for this suggestion, someone had mentioned to me I should check quarto accessibility and I planned to look into it on the following days. Your information has moved it up and already offer the solution, I will check the material compatibility and needed changes to work well with quarto. |
For students that probably don't need a robust solution, Google Colab is a good way to study. It'll be better VSCode for real and complex projects with bigdata and others. I'm a blind data scientist and I think colab is the best tool to study. VSCode will be amasing to work with when becoming accessible, but not yet. This week I'm testing a new version of databriks, and it seems accessible - solved the issues about output and others that are very simmilar to VSCode. I'm waiting a faster answer from Microsoft about this. This issue is taking a long time to resolve. |
Thank you very much for your input. I did try Colab earlier today with NVDA and was unable to access the output of cells. How can I access that? It looks like you are Brazilian (or Portuguese speaker) from your profile. Would you mind providing any way for me to reach out and exchange some information about the tools you use currently? This would be very helpful if it is not an issue. |
You can call me on linkedin https://www.linkedin.com/in/pietro-ayres-sanchini-b8b00999/. It'll be a pleasure to help you with this issue. Colab is accessible. Below the cells you can read the output, but you need to press insert + space to get out of the input focus. I'm talking about NVDA, but it's the same way to jaws, excepting you'll need other shortcut to get out of input focus. Im' talking about this here, because I believe it is useful as a consumer experience for the changes that must happen in VSCode |
Within my limited testing and knowledge about accessibility, I feel like having indicators of cell running starting and finishing might also be an important aspect for accessibility within the scope of this issue. The following puglin I found for colab may be an useful reference for this: https://github.com/hassaku/colab-a11y-utils @Hypokeimenon thank you, I've asked to connect with you on Linkedin. |
Just want to highlight that "accessibility" is part of experience and it can vary person by person. FYI, I am also a blind individual teaching data science at university and I have found using VSCode in conjunction with Quarto more effective than Google Colab. However, again each person has different experience. @joseluizn -- VSCode has audio cue settings to indicate the completion of Notebook code execution.
{
"audioCues.notebookCellCompleted": "on",
"audioCues.notebookCellFailed": "on"
} |
Thank you for the input, I am trying quarto now. It provides an extra knowledge barrier as I myself had never used it, but it seems promising for multiple uses. A few questions. Do you work with .ipynb notebook files or quarto .qmd files? I ask because I'm testing an existing notebook file, and changed the code in a cell. After executing and rendering preview is there any method to go towards the relevant cell result or would it need to go through the whole of the rendered html file? How would you proceed to the output of the cell you are currently working |
Hello! I'm interested to know whether being able to access the output of a cell after execution is sorted? I can't find any docs on how to navigate to that with JAWS after the cell has finished executing. |
Has anyone been able to fix the output reading? I can't do it either. @isidorn Is there any plan to work on this? If there is no way to read the output of the cells, it is impossible to use the notebooks. Thanks |
Before the new native design, notebooks worked much better and everything was readable. This has not been accessible for many years since you made the change |
@brunoprietog thanks for the ping. I defer here to @minsa110 |
Same question from my side: Has anyone got the notebook output working? I am a blind student getting into machine learning, and came across this issue via a research of exactly this problem. @minsa110 Could you please give us a progress update on this? |
I am using (and contributing to) NVDA. I am also about to attend a course using Jupyter notebooks. @minsa110 could you please give an update on this request, especially regarding accessing and reading smoothly the output result? Thanks. |
Any updates? like at all? I need this to work with a new python math course, and don't want to run the document through quarto every time I make a change. |
Hello, I would like to request accessibility support to be added to jupyter notebook in VSCode. Jupyter web application has very poor accessibility, and it seems like jupyter team is not actively working on its accessibility:
jupyterlab/jupyterlab#4878
It would be great if VSCode jupyter functionality can be made accessible to screenreader users. There are requests on the blind mailing lists (e.g. on program-l@freelists.org) every now and than about ways to use jupyter with a screenreader, and given the fact that jupyter team doesn't seem to be working actively on their accessibility, if VSCode jupyter mode can be made accessible, it will be very welcome among blind developers.
I have tried it with recent NVDA (2019.3) and it seems like pressing Control+Enter works correctly to evaluate expression in the current cell, but I couldn't find a good way for the cursor to jump to the cell output, even though visually the output is right there. Also, when you press up and down, the cursor seems to be jumping to the next-previous cells once it reaches the end of current cell. This is confusing for screenreader users, since there is no indication of that. It would be great if either some indication of another cell being activated is announced, or better if the cursor can stay within current cell and extra shortcuts to jump to previous/next cells could be added. With these two changes I think the basic functionality of jupyter would be accessible to screenreader users.
Thanks!
The text was updated successfully, but these errors were encountered: