nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.09k stars 632 forks source link

iTunes Store is inaccessible with NVDA #734

Closed nvaccessAuto closed 8 years ago

nvaccessAuto commented 14 years ago

Reported by jschmude on 2010-06-28 11:16 The iTunes 9 store is not accessible with NVDA. It uses Webkit internally, and NVDA is able to partially see some of the objects using the navigator, but it isn't being passed to a virtual buffer to allow review.

nvaccessAuto commented 14 years ago

Attachment nvda.log added by jschmude on 2010-06-28 11:17 Description: Log file demonstrating iTunes Store with NVDA (produced with iTunes 9.2 and NVDA R3586)

nvaccessAuto commented 14 years ago

Comment 1 by jteh on 2010-06-28 12:21 Google Chrome does use !WebKit, but its accessibility implementation is completely separate due to its multi-process architecture. On Windows, Chrome's accessibility support is better than !WebKit's. For example, Chrome supports IAccessible2, whereas !WebKit does not.

!WebKit is open source and it uses MSAA only. Unfortunately, in order to create useable virtual buffers, we need a way to uniquely identify an object and then a way to instantiate an object from a unique identifier. !WebKit doesn't provide any way to do this.

I filed  WebKitBug:38882 to request that !WebKit implement support for IAccessible2, which would allow us to support it. Unfortunately, there has been no response at all so far.

nvaccessAuto commented 13 years ago

Comment 3 by KevanGC on 2010-12-25 03:03 BUT HOW DO JAWS AND WINDOW EYES WORK WITH ITUNES?

nvaccessAuto commented 13 years ago

Comment 4 by briang1 on 2010-12-25 09:37 Both those screenreaders need admin privs to be able to install their display chaining drivers. I suspect this might be one way they can 'see' the screen contents which nvda cannot do, if you want it to be portable at any rate.

I personally do not understand why Apple continue to use such code to write their site. I'd not even heard of webkit till Itunes came along. Considering their embedded technology for the blind on their devices it seems very strange behaviour! However. None of this is going to get it to work if webkit devs wont make it work, and Apple won't alter what they do. Should this be marked as needing external fix?

nvaccessAuto commented 13 years ago

Comment 5 by jteh on 2010-12-25 23:55 To clarify, this has nothing to do with display hooks. Webkit is another web rendering engine like MSHTML or Mozilla Gecko.

Perhaps JAWS and Window Eyes have a slightly different design which allows them to partially work with Webkit. That said, from what I've heard, their access to Webkit is buggy, incomplete and otherwise far from perfect. We're not willing to expend our limited resources refactoring core parts of our code in order to implement a half-broken solution which solicits more complaints than it fixes. Webkit really does need to be made more accessible in order to make things work properly.

nvaccessAuto commented 12 years ago

Comment 6 by jteh on 2011-11-18 15:54 There's some experimental code to support this in the bzr branch http://bzr.nvaccess.org/nvda/webKit/. Right now, it is incomplete, but does work to some extent. Everything I said above still applies; it is extremely difficult to support !WebKit well because of its poor Windows accessibility implementation. Snapshots for this branch are also available on the [wiki:Snapshots] page.

nvaccessAuto commented 12 years ago

Comment 7 by kevinchao89 on 2011-11-21 09:29 When setting up iTUnes Match, it seems that throughout the entire process, NVDA  Webkit branch  has some serious issues, which  makes itt unusable. Within sources, select iTunes Match; F6 to web area, where NVDA will read what iTuens Match is all about wwith a button to subscribe; TAB or ARROW

Expected: NVDA to get to subscribe button Actual: TAB or ARROW will not get to subscribe button, but it's possible with quicknnav B. Note: When tabbing around, NVDA will double-speak many links.

After selecting subscribe, inputting Apple ID credential, and hitting subscribe. THe resulting page which shows iTunes Match progress  is completely blank to NVDA, which includes using arrows, tab, oor ObjectNav.

SHIFT+F6 to sources, SHIFT+TAB several times to LCD area, where NVDA will read stop; try to use flat review, arrows, or some way to read the text progress info in LCD and it's not possible. LC  D is what iTUnes uses as a status bar/progress bar.

Unfortunately, for iTunes Match, I had to switch to Window-Eyes which is officially supported by Apple.

nvaccessAuto commented 12 years ago

Comment 8 by jteh (in reply to comment 7) on 2011-11-21 09:40 Replying to kevinchao89:

Actual: TAB or ARROW will not get to subscribe button, but it's possible with quicknnav B.

I don't follow. If you can get there with quick nav, you should be able to get there with arrows in browse mode; arrows can reach everything that quick nav can. Also, can you get to the button with tab if you force focus mode?

After selecting subscribe, inputting Apple ID credential, and hitting subscribe. THe resulting page which shows iTunes Match progress  is completely blank to NVDA, which includes using arrows, tab, oor ObjectNav.

Does NVDA+f5 help?

SHIFT+F6 to sources, SHIFT+TAB several times to LCD area, where NVDA will read stop;

try to use flat review, arrows, or some way to read the text progress info in LCD and it's not possible. LC  D is what iTUnes uses as a status bar/progress bar.

I've not used iTunes Match, but this LCD area is used elsewhere; e.g. iPhone update. It normally reads just fine when I press NVDA+tab. What exactly does NVDA+tab say?

nvaccessAuto commented 12 years ago

Comment 9 by jteh on 2011-12-02 04:40 Fixed focus tracking, including tabbing and double speaking when cursoring to focusable elements. Some other fixes as well.

Still can't access editable text fields properly. !WebKit doesn't seem to use the normal system caret, so we can't track it, and display model behaves shakily at best.

nvaccessAuto commented 12 years ago

Comment 10 by jteh on 2011-12-07 10:09 Initial support merged in cb9c368ba1f4a8b2812089e584cc18ded56096b4. New tickets should be opened for any problems. However, please be aware that even getting this far was incredibly difficult due to !WebKit's poor accessibility implementation in Windows and many ugly hacks were used. Getting much further is probably not possible without enhancements in !WebKit. Changes: Milestone changed from None to 2012.1 State: closed