2021-03-11 16:56:35

I have taken a java programming position. The team uses the java inteliJ IDE and a whole host of compatible plugins.
What is the accessibility like with a windows screenreader? Does JAWS or NVDA work better?
I am normally a Mac person which is primarily Why I'm asking. I doubt I will be able to get a Mac and Reasonably request to use a completely different IDE and system that the whole team unless InteliJ is completely inaccessible (which I don't believe is the case).

I don’t believe in fighting unnecessarily.  But if something is worth fighting for, then its always a fight worth winning.
check me out on Twitter and on GitHub

2021-03-12 02:20:50

Hi, so yes from my understanding, with the right setup, IntelliJ is accessible. I am actually going to be learning how to setup NVDA to work with IntelliJ tomorrow. JAWS does not work well with IntelliJ, you have to use NVDA. I am working on transitioning from Eclipse to IntelliJ because Eclipse is becoming Divest internally in my company. There is a blind developer who works at my company who uses IntelliJ with NVDA, and is scheduled to meet with me tomorrow to talk about this.
The jist of it is from my understanding is that you should first be using the NVDA Eloquence addon. I am not certain that this matters, although in my previous experience playing with IntelliJ, using IntelliJ with NVDA without Eloquence seems to raise a bunch of other accessibility issues.
The second thing is you have to enable the java access bridge for the JDK that IntelliJ is using. If you have more questions about how to do this, let me know.
The third thing is that there is an add on for IntelliJ, although I am not sure which yet. I think it is this:

https://github.com/SamKacer/IntelliJ_NVDA_Addon

The add on I am talking about was built internally by an employee of my company, JPMorgan Chase, but I was told that the code was made publicly available. I can update this thread tomorrow when I know more for sure. I had tried an addon for IntelliJ, but had some issues with it, and it just did not seem to work. I am  not sure if the addon I linked to is the one I tried.

As an alternative, you can use Eclipse for Java development. Both JAWS and NVDA work with Eclipse pretty well out of the box, although NVDA plus the NVDA eclipse addon is definitely the best experience. This is how I have been working. Here is the link to the NVDA Eclipse addon:

https://github.com/albzan/eclipse-nvda

I have posted a couple times on this form about using eclipse with NVDA. Here is the last thread on this topic that I posted on:

https://forum.audiogames.net/topic/3933 … ccessible/

Hope this helps,

Timothy Breitenfeldt

2021-03-12 03:10:40

@2
Hmm, I wonder how the hell a speech synthesizer effects accessibility in any shape or form? From what I've seen (using eSpeak, IBMTTS, and SAPI), it all seems to work the same. NVDA's Synth Drivers should all have the same base class (synthDriverHandler.SynthDriver), and accessibility shouldn't be at stake at all because of how the synth developer uses this class. The NVDAObjects module is not imported anywhere in synthDriverHandler.py from what I've seen, so idk.

2021-03-12 04:42:24

The speech synthesizer is completely independent of the accessibility of a program. If a program or add-on depends on the synthesizer used then that's incredibly poor design.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2021-03-12 16:56:28 (edited by Kyleman123 2021-03-12 16:57:56)

Thanks for the info @2. Anymore you could provide about enabling the JAB and general info would be most appreciated.

I don’t believe in fighting unnecessarily.  But if something is worth fighting for, then its always a fight worth winning.
check me out on Twitter and on GitHub

2021-03-12 17:04:03

@1 I'm using IntelliJ with NVDA, I installed the community version and it just worked
out of the box. I found some issues with the debugger but the editor itself is very accessible.

2021-03-12 21:21:33

Hi, I agree, the synthisizer should not have any affect on accessibility. I actually suspect the increase in accessibility was from something else I did at the same time. The copy of NVDA I downloaded initially from my company's internal software repo just did not behave right, I ended up generating a portable copy from that installation, which seemed to fix my problems, and allowed me to install other synthesizers, where as before I could not.

Anyways, The add on I posted above is correct. NVDA does seem to work pretty well out of the box, the add on above makes things a bit easier when navigating code though. For example, when alt up or down arrow is pressed to navigate by method, the current line is read out. There are a couple of other enhancements that make the experience a bit better. Honestly though, I still find eclipse to be easier to use, although it is not as bad as I initially thought. Not sure about the debugger, have not gotten that far yet.

To enable the java access bridge, you have to go into your c drive, so you could do
windows r, to pull up the run dialog, and type c:, which should open file explorer in your c drive
Then arrow around in there to find program files or program files x86. You will almost certainly have both folders, I expect that you installed the 64 bit version of java, so check in program files first, there should be a folder in there called java, in there should be jdk. the jdk folder will have some version after it.
Inside the jdk folder, you should have a bin folder. Once inside the bin folder, do alt d to get to the address bar for file explorer and type in cmd to open the command prompt in that location.
Now in the command prompt run the command
jabswitch.exe -enable
which should return with something like "java access bridge enabled"

I do not understand why this is just not enabled by default. Better yet, why it is not just baked in, and make it so that you can not turn it on or off.
Anyways, I think there is actually a way to do this also through the control panel, I just have never done it that way.

Timothy Breitenfeldt

2021-03-14 01:26:00

Out of curiosity, what makes eclipse and inteliJ better than, say, VSCode with the java extensions other than that some places expect you to use a particular IDE?

I'm probably gonna get banned for this, but...

2021-03-14 08:17:03 (edited by Dragonlee 2021-03-14 08:20:57)

hello, I am the author of the NVDA addon linked in #2.
@2 wow I can't actually believe anyone knows about that addon. I just created for personal use and decided to put it up since I thought someone else might get use out of it. I don't understand how you know I worked at JP Morgan before though. Did someone in the company tell you about the addon? I remember I just told one blind guy who was just starting as I was leaving.

also in regards to enabling JAB. I think it is auto enabled for NVDA 2020.3 onwards. if you have an older version, you will have to activate it manually, for that refer to this page.

if your version of NVDA is older than 2020.3 I think you will need a 32 bit java  installation just to make JAB work. also if you have 32 bit java, you enabled JAB, and things are still not working, then check the troubleshooting section on the page I linked. you might need to download a .dll if it is missing. that was the case for me.

edit: also make sure to enable screen reader mode for IntelliJ.

not sure how old the version of IntelliJ they are having you use is. for newer version the list item bug my addon solves  is fixed, but for your version it isn't, so you might need the addon to read list items such as in the action finder.

honestly, I haven't used IntelliJ for at least 9 months and haven;t touched the addon either. it should work fine with older NVDA versions and IntelliJ, but not sure if there are problems with newer versions.

2021-03-14 08:30:32

@8 when I started work at my old job, I just wanted to use VS code with a Scala extension, but my whole team was using IntelliJ instead. I quickly found getting the setup I had at home is nearly impossible, since companies, even the biggest ones, package and make available to you a small subset of trusted software, which excludes 99% of VS code extensions.

so I went with the flow and started using IntelliJ, which turned out to be a blessing. although IntelliJ has its accessibility problems, I managed to fix those with an addon. the major advantages are that while VS code is amazing with JS and typescript, and mostly good for all other languages, IntelliJ is super specialised for a particular language set, like Java, or in my case, Scala.

whereas in VS code, you have a couple of quick actions, refactorings, code generations for Scala, in IntelliJ, you have probably thousands. for practically any refactoring I would want to do, like extract function, variable, add braces to single statement, etc. I can just press alt + enter and the quick action will be there for it.

also the static code analysis is bonkers even for the out-of-the-box experience. it can detect so many warnings and automatically fix them for you, which just isn't available in the VS code extension.

also, finding usage of a particular symbol is much better. it gives you a dialogue with a tree view of all occurences in the project that you can efficiently navigate, which has been useful when working on a huge project more times than I can count.

2021-03-15 17:09:32

At #9, that is interesting. I just started working at JPMC a couple months ago, and everyone is using IntelliJ. I just kept having a number of problems using it, and eventually talked to an blind individual in India named Vinod, who told me that someone who used to work at JPMC created this addon, and it has helped him quite a bit. The addon seems to at least be working with my windows 10 corporate laptop with NVDA 2020.2, and IntelliJ ultimate. As I mentioned above, I was having different problems that the add on did not solve, but the add on definitely makes the experience much better. Thanks for the add on.

I Personally have never used VS Code with Java, although the one thing that I always here is that you are restricted by java versions that are available for the VS Code extension.

2021-03-15 17:17:49

I think it was pointed out elsewhere in the dev room, but the VS Code extension requires Java SE11 or above. I've been using SE8 for a few years now, so I've been using Eclipse/CLI.

What game will hadi.gsf want to play next?

2021-03-16 20:43:54

@11 thanks for sharing that. yeah, that's the guy I talked to before I left. small world.

also didn't know you could get hands on a windows 10 laptop. I had to use a win7 virtual machine,, which was pretty good, but a day didn't go by that I didn't miss win10's multiple desktops.

making that addon really payed off, since I worked iwth IntelliJ  for a year and it made the experience much nicer, but I'm really glad it managed to help out some other people as well.

2021-03-19 03:55:26

Thank you all for the helpful info. At least I know that I won't be completely left in the dark with an inaccessible IDE. At this point I'm just waiting for my laptop to get here and at that point I'll be able to install NVDA and poke around a bit before I officially start.

I don’t believe in fighting unnecessarily.  But if something is worth fighting for, then its always a fight worth winning.
check me out on Twitter and on GitHub

2021-03-25 04:50:42

So I've learned a bit more about the IDE we will be using on my team. Even though the job description says that InteliJ will be used, it also comments about Rational Application Development (RAD). My boss commented that they use the RAD and Eclipse for the Enterprise version of java, even though the job description said nothing about Eclipse...
From the other comments, its good to know that Eclipse is accessible.
Anyone used RAD and know the the accessibility is like?
I'd be happy to make another topic if mods feel its appropriate.

I don’t believe in fighting unnecessarily.  But if something is worth fighting for, then its always a fight worth winning.
check me out on Twitter and on GitHub

2021-07-07 13:18:54

hey guys! how can I access my erros's code in eclipse ide.
I'm starter in java

2021-07-10 22:12:49

If I remember correctly press alt, shift and q to open a view switcher and then press x. Alternatively if this view is already visible you can cycle between visible vies with ctrl f7. I do not just now have access to eclipse so cannot check but I can later if if I misremembered.

2021-07-13 01:16:50

thanks!