Using IntelliJ with a screen reader

Answered

I've been using Jetbrains products for years now (starting ReSharper, but mostly recently mainly PyCharm, DataGrip and WebStorm, as well as a little on IntelliJ itself and Android Studio). I'm also losing my sight, so need to start preparing for when that happens.

So I'm wondering if there are any users on these forums that maybe have any experience with screen readers that can advise me.  Or even anyone from Jetbrains who can comment or point me at any resources that might help.

I mainly use a Mac and am trying to learn VoiceOver.  I posted about some problems I had using the toolbox app, and then PyCharm in the toolbox app forum (https://toolbox-support.jetbrains.com/hc/en-us/community/posts/360009750820-Using-Toolbox-App-with-OSX-VoiceOver-Catalina-) but didn't get a reply.  Since then I've read some things that suggest that VoiceOver is no good for coding.  I've also read that IntelliJ based IDEs aren't the best for screen readers.  Certainly my limited experience with the 2 together was not good, and the toolbox app appears completely unusable with VoiceOver as far as I can tell.

I'd like to keep coding on my Mac, and I'd like to keep using Jetbrains products, but if either is a no-go then I'd like to know sooner rather than later.  Any advice at all would be great.

1
111 comments

Dn4141

not sure if the EAP comes bundled with JBR17

The EAP 2022.1 (and the upcoming release version) is bundled with JBR 11.0.14. JBR 17 will be the default runtime starting from the 2022.2.

As to the database issue (I assume it's about the IDEA-277512) - unfortunately the responsible developer has too much on his plate already so I cannot provide any ETA at the moment, sorry.

John C thanks for letting me know, glad to hear that it works better with the default runtime.

0

Ekaterina Valeeva - I changed my ind and tried JBR17 and it does seem to work very well in the project tree.  Part of me was hoping that some of the menu issues might be sorted with it too, but I will have ot be more patient!

I have noticed one small regression in this EAP compared to 2021.3 which happened before and after JBR17.  In the Shift+Shift menu, if I type something in, say, "test" it will display results.  But as I move the cursor down the list, it only reads out what I typed into the text box.  So it seems that all results are the same.  If I move up the list, nothing gets read at all.  I can work around it by using VO keys to move into the list, and then VO+left/right work as expected.  But it is a little annoying

0

John C do you have VoiceOver quick navigation enabled when this happens? I'm asking because what you observe looks similar to IDEA-288008, but it's not reproducible for me as described there. If you feel the mentioned ticket is what you're facing then please upvote it and add a comment with the exact steps and VoiceOver settings that would allow us to reproduce the issue on our side. Thank you.

 

0

@John C I agree with @Ekaterina Valeeva,  I am also unable to replicate that and suspect you have the quicknav (voiceover setting) enabled.  I have voiceover set so that I can toggle quicknav by pressing the left and right arrow buttons together as it is very useful just not everywhere.

 

@Ekaterina Valeeva thanks for looking into that editor issue and updating it.

I installed JBR17 and wow it’s like using a new IDE.  I think when the first release is out with JBR17 as default assuming the right click context menus not being read issues are fixed Jetbrains can remove the section on the accessibility page that states that IntelliJ idea on Windows is more accessible than IntelliJ idea on Macos.

 

One more issue I created last year that’s critical is that currently it’s not possible for a completely blind person to right click any UI item.  with voiceover this is usually acchieved by navigating to a UI element and then pressing shift+[VO modifier]+m or [VO modifier]+cmd+space.  This is obviously very important to be able to do, I am lucky in that I still have some useable vision so I can right click using the trackpad.  Any idea if this is being looked into or if I’m missing something/there’s a way to do this in IntelliJ idea?b

0

Dn4141 

Seems you're talking about the IDEA-285382. It's currently in progress and the fix might be ready in the nearest few days. Most probably the official version including it will be 2022.2 (with the JBR17). I'll let you know if it will be possible to get this working in 2022.1. 

Until then as a workaround you can map the custom shortcut to the corresponding IDE action manually. I suppose the simplest way to do so is the following:

1. Press Cmd+Shift+A to invoke the Find Action, start typing "Show context menu" in the search field.

2. Move selection to the first element of the list and press Option+Enter - a small window for assigning the shortcut will open.

3. Press shortcut you want while this window is opened - the key combination will be displayed in the entry field.

4. After you press Enter (or OK) the new shortcut will be added for opening context menus. You can modify or remove it later on in the IDE Preferences | Keymap, Other.

There might be shortcut conflicts, so please make sure that no other IDE actions that you use frequently are bound with the shortcut you're going to use for context menus.

0

Ekaterina Valeeva - thanks again for the reply - it means a lot to have you looking into these issues.  I do use quick nav and turn it on with  left+right arrow keys as per Dn4141 but the problem occurs when it is disabled.  If I enable quick nav, the behaviour is different in that up/down cycles between the controls.

Other similar dialogs (e.g. Cmd+E) work fine.  But I can reproduce the Shift+Shift problem every time.  Typical example is shift+shift, then type "test_" and then scroll down but everything is just read as "test".  Go up and notning is read.  I've been using this a lot in 2021.3 before I installed the EAP and it worked very well there.

It is pretty annoying because it's my main way of navigating PyCharm and it now only works if I have an exact match or if I fiddle with VO keys.  I did also try in a different (smaller) project and it also occurred.

I then tried IntelliJ IDEA Ultimate (2021.3) and it worked fine (this is on a really tiny kotlin project).  I upgraded it to 2022.1 EAP and it continued to work as expected.  I then switched back to PyCharm, tried it again and it worked.  I closed the dialog and tried again and it stopped working.  This confirms a nagging suspicious that very occasionally in PyCharm it works but usually not.  I couldn't reproduce in IDEA at all.

I've also noticed that if I disable VO, then press Shift+Shift, then enable it, then it works, until I close the dialog and it's broken again when I reopen.

I tried to get to issue IDEA-288008 but the link gave me an error and searching on that issue came up empty.  Maybe I don't have access ?!

 

0

Ekaterina Valeeva - sorry, just to follow up on that, I instaslled the Python plugin in IntelliJ and then loaded up the same project in both ideas.

In PyCharm 2022.1 EAP (with JBR17) I got the problem as mentioend.

In IntelliJ IDEA 2022.1 EAP (default JBR) it worked as expected.

I was getting the problem before JBR17, so don't think that's connected.

Anyway, just wanted to update that it does feel PyCharm specific for some reason.

0

John C sorry for not checking the IDEA-288008 issue visibility, it's indeed limited to our company.

I filed a new public one with the results of my experiments, please upvote and follow IDEA-291098. From what I see the issue is not specific to the IDE, but more likely to the initial state of the component. This is a regression (worked in 2021.3.3 and does not in 2022.1), so I hope it will be addressed soon.

0

Ekaterina Valeeva - thank you very much - I really appreciate your work on this and hopefully it will lead to a fix.

0

Ekaterina Valeeva Since using JBR17 things are definitely better.  No major lock-ups, project tree works well - much less frustrating overall.

There are a number of smaller issues I've found - some mentioned before I think.

There's a long-standing issue where sometimes VoiceOver goes a bit nuts in menus.  By "nuts" I mean it just frantically stutters as if it's trying to read the menu over and over again rapidly but can't get past the first syllable.  I've noticed this in particular when filtering the git branch dialog and the select run configuration dialog (from Run > Run...). It's a particular problem reading the first item in the list - also in run dialog subfolders seem a bit problematic.

If I press Opt=Enter on a method in an HTTP file it's similar.  (I did report this one a while back in youtrack).  I've noticed a further problem since then - if I select the "Run <env>" option it seems to bring up another menu which I can't seem to interact with.  So I couldn't seem to run the http method without the mouse.

 

I've noticed a number of times that trying to insert an import statement puts the focus in the wrong place.  This seems to be the case if I have a choice of imports.  So I put the cursor on something missing an import and press Opt+Enter, then select import from the menu, and then another menu opens up asking me to choose where to import from.  Occasionally, when I press enter to select the item it actually puts a new line in the code behind the menu instead of selecting anything.  Only sometimes though.  I have sene this behaviour in previous versions of PyCharm but not for a long time.

 

Pressing F2 to move to next highlighted error reads out the code under, or near, the cursor.  In versions prior to 2021.3 it would read out the problem.  I'm not sure how I'm supposed to know what the problem is without going to the problems pane.

Navigating to next function reads out "def" but not the function name.  Navigating to previous function reads out the function name, but not "def".

0

I tried PyCharm 2022.2 EAP and it does seem like the context menus are finally getting read out !!  I've only had a quick play around, but so far so good.

The problem where VoiceOver just repeatedly stutters the first syllable of some menus still occurs - I think these tend to be the menus where you can filter, e.g. git branches, run configuration etc and it does make it impossible to hear the first item in the menu sometimes - which is usually the one you want!

I'm also finding Opttion+Enter was worse in 2022.1 and it's worse again in 2022.2.

E.g. if I'm in a Pycharm file and type "path" then press Opt+Enter on it then it shows a menu.  IThe first option is to import this name which s spoken OK.  If I press down, the 2nd option is read out.  If I press up it speaks "im-im-im-im-im-im" really fast over and over again.  If I press enter it should ask me where I want to import the name from, but instead it just reads from the top of the screen.

In 2021.x it opened the menu and I could select the import location fine.  In 2022.1 it sometimes did that, and sometimes popped up the menu but with the focus behind it so when I moved the cursor or pressed enter it would just move around the editor.  In 2022.2 I think I've seen that behaviour, but testing it now it didn't even get that far.  I've never managed to get the menu to work in 2022.2.

Thus us a problem I always have with new Jetbrains releases - one step forward, another step back.  Hopefully fixed in the next EAP but not holding my breath.  I guess this is also the joys of VoiceOver - nothing is ever consistent.

Still, I would say things are looking up.  I really hope the above can be fixed and then maybe we can move onto the other smaller but equally annoying issues, like F2 being useless or the Shift+Shift focus problems.  But I am definitely not swearing at PyCharm as much as I was last year.

0

John C Sorry for the long silence. I've reproduced the issue with searchable popups. Seems that there's the same root cause for Git, Run and intention popup (the latter also allows speed searching). I've filed a new issue in our tracker, please follow the IDEA-295388.

If I press enter it should ask me where I want to import the name from, but instead it just reads from the top of the screen.

In 2021.x it opened the menu and I could select the import location fine.  In 2022.1 it sometimes did that, and sometimes popped up the menu but with the focus behind it so when I moved the cursor or pressed enter it would just move around the editor.  In 2022.2 I think I've seen that behaviour, but testing it now it didn't even get that far.  I've never managed to get the menu to work in 2022.2.

Unfortunately I did not succeed to reproduce the issue with the menu in 2022.2 (latest nightly build), it's always displayed as expected. Seems I'm missing something here. Could you please describe your scenario step-by-step and indicate what menus exactly are affected? What 2022.2 build exactly you're using?

 

0

Ekaterina Valeeva - thanks very much again for the reply.

The Opt+Enter menu does seem to cause a few problems for me.

* Open an ew Python file (e.g. as a scratch file)

* Type in "os"

* With the cursor on 'os' press Opt+enter to bring up the menu.

* Select Import this name

* The menu disappears and that's that.  What should happen in this case is I should get another menu asking me how I want to import it.  This does seem to appear if I turn off VoiceOver.

Sometimes you don't get asked to make another choice.  E.g. "sys" will just automatically put the import.  I believe this usually does work OK - it certainly did testing it just now.  It's more when one menu needs to open another one I think.

0

John C I've reproduced the issue with the nested menu and VoiceOver. There was a similar report for Grammarly, I'm waiting for the developer to identify the root cause. Hope this won't take too long. Sorry again for the inconvenience.

1

Ekaterina Valeeva - thank you so much, yet again.  I think I would have gone totally insane without your help and I can't tell you how grateful I am.  Things are definitely going in the right direction, and although there are plenty of little things that aren't perfect, it feels like the major ones are finally getting addressed.

0

For once I thought I'd post something more positive.  I've noticed a couple of things recently.

1. Adding imports with the context menu seems to be working properly.

2.I can now use standard VO keys for the context menu.  I've been using the numpad commander and pressed my shortcut by mistake and was surprised to see it open.  Also VO+Shift+M seems to be working. 

Now one thing I've learned with VoiceOver is that what works today doesn't always work tomorrow, but I'm hoping this means they are fixed.  If so, thank you!!

I am beginning to feel quite productive with PyCharm and VoiceOver now.  There are still plenty of niggles, but most things can be worked around.  It's a huge improvement to what it was like a few months ago.

I'm also looking forward to seeing what Macos Ventura add with regard being able to hear indentation, but am not quite confident to install it until it's officially released.

I'd also just like to point out how big a difference the NumPad commander has made to my overall VoiceOver productivity.  I'd highly recommend it.

0

Well, I got my invite to Fleet at last!  I don't think there are any restrictions on me talking about it - I've not signed an NDA or anything and have seen other mentions of it online, so I hope this is OK.

Firstly, there are a few problems in the toolbox app. I couldn't figure out why Fleet wasn't appearing for me now I've got my invite, but it turns out there was a tiny warning iconthat was completely hidden to VoiceOver.  It seemed to need me to login again, but doesn't look like that process is accessible at all.

Also, think I've mentioned it before but both the toolbox options, and the individual app options, are totally inaccessible.  You can click th ebutton, but then.... who knows....

But, I'm really upset to report, but it seems like Fleet is currently totally inaccessible.  With VoiceOver I can make it go ping.  I can get the menus read out, but can't use any of them.  I can navigate to the Close, Minimize and Zoom buttons...... and that's about it.....

I'm really gutted about this.  I know it's early days, but unless accessibility is baked in early on, then it's just a case of history repeating.  Unless I get told off for reporting this here, I'll update if any improvements are made.  I really, really want it to be good!!!

0

Hi John C,

Right now, Fleet is in the Closed Preview stage, and screen reader support, unfortunately, is not enabled yet. As you may have read, we are using a new in-house UI framework for Fleet development, and we've built it with screen reader support in mind. However, it still will take us some time to make it usable, which is why it is disabled for now.


Sorry for not meeting your expectations at this moment. We will inform you when we will have something to show you.

0

@Grigorii Kargin - thanks very much for the reply.  I am relieved to hear that accessibility has been considered after all and that it's something we should be able to look forward to.  Do you have any idea when it's likely to be enabled?.

0

It looks like the latest EAP of PyCharm has fixed another couple of bugs!

Firstly, I noticed that when I tried to commit with errors, I got a spoken notification telling me about it.  (Probably because I set pretty much every notification to be spoken in preferences).  I could then navigate to the Checks failed message using VO+Left, select it and was taken immediately to the problem tree where I was able to press enter on each error and fix it.  This is fantastic!  I'd pretty much given up on the commit warnings feature so I am really happy about this.

The other thing I noticed is that I pressed Shift+Shift, started typing and pressed down arrow and I was able to go up and down through the list and each item was spoken out properly.  This tends to be a feature that fluctuates a little between working and not, so I'm a bit cautious about celebrating too soon, but if this can keep working it will be great.

Anyway, just wanted to say thank you for fixing these issues.  It really is appreciated.

0

Looks like I spoke too soon - the shift+shift problem is back again for me today.  Seems a bit random - when I arrow up and down it says nothing or just repeats what I typed.  Shame.

0

I'm not sure if I've found out why the Shift+Shift thing is broken again.

I noticed that somehow I had enabled the VoiceOver option for the mouse pointer to follow the VoiceOver cursor.  It seems that if this option is enabled, the Shift+Shift dialog doesn't work properly with VoiceOver.  If I set it to ignore the VoiceOver cursor then it seems to work.

I've only had a quick play, so might be wrong - but so far it does seem to make a difference.

0

I've upgraded to MacOs Ventura and have noticed a weird and quite annoying little change in the project structure tree, which I also notice in the test results pane.

When scrolling through the list of files and folders, it repeats each name with "text" in the middle.  So if I select "config.py" then it is rad out as "config.py text config.py".  My verbosity settings are set to Low and I'm not seeing this in any other application.  I presume it's a VoiceOver not a PyCharm bug but am not sure how to prove it.

Is anyone else seeing this?

0

John C thank you for letting us know, we reproduced this and filed JBR-4958.

0

Ah great, thank you.  I wasn't sure whether to report it to you or Apple.

Otherwise, all seems good so far.  The indentation tone works very well with PyCharm.

0

I'

Not sure if it's intentional, but I've noticed a nice improvement the last few days.

Previous when I ran unit tests it would put focus in the "rerun" button and I'd have to move about 8 or 9 times next, then go to tabel and then interact with it just to find the test that failed.

Now when I run the tests it seems to put focus straight into the test results tree.

If this is intentional, then thank you!

If it's an accident, pelase can we keep it!  :)

0

I upgraded to Ventura 13.2 and the problem with the project tree (and other windows) repeating the content seems to have been fixed.  Which is great as that was driving me crazy.

0

Is there 

Is there any likelihood that the accessibility issues in the toolbox app are going to be resolved soon?

In particular, being able to use popup menus.

I've had a couple of apps corrupt when installing recently and the only way for me to fix it was to get sighted help.  (And over Skype screen-shae it is extremely tedious - left a bit, up a bit.. oh the menu has disappeared, start again....)

It also means I can't uninstall apps I don't use any more, or switch to/from EAPs.

I tried using VOCR but still couldn't find my way into the menus.  (But I don't use it that often so might be me.)

0

John C The issue with Toolbox menus will hopefully be addressed in v.2.0 of the Toolbox, preliminary planned for Spring. 
Sadly cannot provide more precise dates at the moment, updates should be posted to the corresponding YT ticket.

0

@@Ekaterina Valeeva - it's great to hear that it's being sorted.  Thank you so much - again - for the update.

0

Please sign in to leave a comment.