Community
Participate
Working Groups
Created attachment 105352 [details] screenshot When using a screen reader and tabbing through multiple links in the same FormText, each link will be read using the label of the first link. e.g. in the attached screenshot, every link is read as "Java editor concepts".
I have investigated this a little. Either I'm not understanding the accessibility APIs or this is a bug in SWT. I put sysouts in all the accessibility methods for FormText to print out the childIDs that I'm returning/receiving. All methods are returning the correct childIDs. However, we are using a call to Accessible.setFocus(int) whenever the focus is advanced (at the end of FormText.advance(boolean)). This triggers a call to getName in the accessibility framework, but it is always passing FormText a childID of 0 in getName, regardless of the int that was provided in setFocus.
I'll have a look. Would you happen to have a minimal snippet that I can use for debugging? Thanks...
I don't have a minimal snippet for this unfortunately, but it is easy to reproduce using the platform: 1) Open a Java Editor. 2) Press F1 to open the help view. 3) Focus the help view and start tabbing through the links under "see also" whilc running a screen reader. The text of the first link will be read for each link. Accessible.setFocus(int) is called at the end of FormText.advance(boolean) at line 1442.
Carolyn, have you had a chance to look at this? I'm hoping to get this fixed for 3.4.1. Should we move it to the SWT bin for now so it's on your radar?
Please reassign to me (and SWT) for now, but I cannot get to it until August. Thanks! Carolyn
Assigning to Carolyn ...
Hmmm... this works for me in 3.5 M1, using just inspect32.exe to look at the link labels. I need to reboot to use the screen reader, and I will try it again in eclipse 3.4, but already I am suspecting that it is a screen reader problem (maybe they need to clear a cache, or maybe they are ignoring the childID in the setFocus and just using "self")... I will get back to you.
Tried JAWS 9.0 with eclipse 3.5 M1 and it works correctly. I will test eclipse 3.4 now. I may be able to test with previous versions of JAWS. What screen reader, and what version of it, were you using?
I know which screen reader you were using... Window-Eyes. I tried this with Window-Eyes 6.0, and I have the same behavior as you do. W-E speaks the first link over and over. This is a W-E bug, because both inspect32.exe and JAWS are working correctly. I am going to mark the bug as "not Eclipse". I know one of the developers over at GWMicro, so I will send him an email to report the bug. That is the best that I can do.
Yep, I was using WE 6.1. Thanks for looking into this Carolyn.
FYI, I have heard back from the Window-Eyes developers. They were able to replicate the problem, and they have opened an internal Window-Eyes bug for it (#5189 - Eclipse Links Misreading). As far as which version of Window-Eyes the fix will be in, they said, "We'll try to make this a priority, although I don't know if it will make 7.0".
*** Bug 247443 has been marked as a duplicate of this bug. ***