The JAWS Bug
Back then, the situation with JAWS 7.1 was that it
announces content in a Additionally, this only happened with JAWS in Internet Explorer.
span element hidden with
display: none if it is in an anchor element. This only works with a
span element; other inline elements used in an anchor element, such as
code, and so on, are not announced in JAWS.
Having just tested this, I can confirm that this bug no longer affects JAWS 12 in Internet Explorer 9. After all, it has been about four years since that bug was discovered. In which specific version of JAWS this was fixed I can't say, having only tested the latest version.
The Window-Eyes Bug
While Window-Eyes 5.5 worked as expected with such hidden content, as soon as you added a CSS background image to the anchor itself or any other ancestor, up to but excluding the
body element, Window-Eyes would announce the hidden content. Even if the link itself was hidden using
display:none, if an ancestor element had a background image applied, Window-Eyes would read the link.
Using this test page, it is clear that Window-Eyes 7.5 in Internet Explorer 9, but not in Firefox 5, still exhibits the same bug. That is, content hidden using
display:none is read by Window-Eyes in IE9 if the element itself or an ancestor has a CSS background image.
As was noted by Jared Smith all those years ago, doubling up
visibility:hidden solves this problem with Window-Eyes. So if you are applying CSS background images and want to keep hidden children hidden from Window-Eyes in IE, this is what you'll need to do.
Working with AViewer, the very useful tool from the Paciello Group, it seems that the accessible name that Internet Explorer 9 passes to the MSAA accessibility API for each of the anchors in the test page includes both the visible link text and the nested
span hidden using
display:none. On the other hand, Firefox 5 passes only the visible link text to both the MSAA and IAccessible2 APIs, leaving out the hidden
This leads me, without completely understanding it all, to wonder if this might have something to do with Window-Eyes' behaviour where both the visible and hidden link text is read in certain conditions in IE9, but not in Firefox. If you can shed any light on this, please do.