Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Certain nesting of ARIA attributes causes NVDA to ignore active elements in the tab order in IE #3571

Closed
nvaccessAuto opened this issue Oct 10, 2013 · 6 comments
Labels
Abandoned requested reports or updates are missing since more than 1 year, author or users are not available. app/internet-explorer ARIA bug

Comments

@nvaccessAuto
Copy link

nvaccessAuto commented Oct 10, 2013

Reported by bgaraventa on 2013-10-10 20:45
It appears that, when certain ARIA attributes are nested, such as role=dialog and role=application, NVDA cannot read active elements in the tab order when viewed in IE, though it does work correctly in FF.

Here is an example:

<html><body>

<div>
Content...
</div>

<div role="dialog">
<table role="application">
<tr>
<td role="link" tabindex="0" aria-label="Test Link">
?
</td>
</tr>
</table>
</div>

</body></html>

When you attempt to press Tab to set focus to the "Test Link", it does work correctly in FF and reads both the role and state accurately.

However if you try the same in IE, it causes a dead tab stop and appears to get stuck so you can't tab past it.

I understand that this is a corner case, but the active element shouldn't be entirely invisible in the tab order regardless.

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2013-10-18 02:00
After some debugging, this is clearly a bug in Internet Explorer. I assume you always see the issue after refreshing the page right? For me at least, it always works the first time the page actually loads.
The particular bug is that when the page reloads, IE keeps the focus on the node it was previously on, but only fires focus on the document, rather than also providing another focus event on the node really focused.
And then when NVDa goes to try to focus the dialog, it doesn't fire a focus event because its already focused according to IE.
We do have an idea of how to get around this bug, but I'd really like to know if there are any real life cases here. Its fair enough to say it should always work, But fixing bugs takes time and resources which we must carefully prioritize in our situation.

@nvaccessAuto
Copy link
Author

Comment 2 by bgaraventa on 2013-10-18 18:08
Thanks for explaining, it's sort of strange because the following date picker uses the same technique for rendering the grid:
http://whatsock.com/tsg/Coding%20Arena/ARIA%20Date%20Pickers/ARIA%20Date%20Picker%20(Basic)/demo.htm

In the case of the date picker though, using IE10, the simulated links are actually rendered, even though Applications Mode is not activated as expected.

This is likely just a querk, that hopefully doesn't crop up anywhere else. I wished to file the bug so you guys would be aware of it in case this happens in other places too. Likely very low priority though.

@nvaccessAuto
Copy link
Author

Comment 3 by jteh on 2013-10-22 23:05
Correcting version, since 2013.2 wasn't previously an option. See #3499.

@Adriani90
Copy link
Collaborator

@bgaraventa I am not sure if I can reproduce this issue in IE11. I am testing with NVDA las Alpha and am getting following error. As you can see, I could tab to the link and then to "show options" and the focus didn't got stuck on that region. But I am not sure if there are things ignored. Can you reproduce this issue with last NVDA Alpha?

IO - inputCore.InputManager.executeGesture (18:39:16.891):
Input: kb(laptop):NVDA+space
IO - inputCore.InputManager.executeGesture (18:39:18.430):
Input: kb(laptop):tab
ERROR - core.CorePump.run (18:39:18.532):
errors in this core pump cycle
Traceback (most recent call last):
  File "core.pyc", line 486, in run
  File "IAccessibleHandler.pyc", line 900, in pumpAll
  File "IAccessibleHandler.pyc", line 671, in processFocusWinEvent
  File "IAccessibleHandler.pyc", line 687, in processFocusNVDAEvent
  File "baseObject.pyc", line 34, in __get__
  File "baseObject.pyc", line 115, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 640, in _get_shouldAllowIAccessibleFocusEvent
  File "baseObject.pyc", line 34, in __get__
  File "baseObject.pyc", line 115, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\__init__.pyc", line 666, in _get_shouldAllowIAccessibleFocusEvent
  File "baseObject.pyc", line 34, in __get__
  File "baseObject.pyc", line 115, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 793, in _get_states
  File "comtypes\client\lazybind.pyc", line 226, in __call__
  File "comtypes\automation.pyc", line 729, in _invoke
COMError: (-2147352319, None, (None, None, None, 0, None))
IO - inputCore.InputManager.executeGesture (18:39:19.151):
Input: kb(laptop):tab
IO - speech.speak (18:39:19.331):
Speaking [u'Link']
IO - inputCore.InputManager.executeGesture (18:39:19.760):
Input: kb(laptop):tab
IO - speech.speak (18:39:20.000):
Speaking [u'Show options  Schalter  Reduziert  Untermen\xfc']

@Adriani90
Copy link
Collaborator

Hm unfortunately the initial author is not on Github anymore. Can anyone reproduce it?

@Adriani90 Adriani90 added the Abandoned requested reports or updates are missing since more than 1 year, author or users are not available. label May 21, 2019
@Adriani90
Copy link
Collaborator

I am closing this one as abandoned. We cannot reach to the initial author and the case is very corner. Actually I don't know exactly what is expected here. Testing with NVDA 2019.1.1, NVDA reads the dialog and application role when tabbing in focus mode in IE11. If someone has further thoughts on this, please comment on it and we can reopen it. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Abandoned requested reports or updates are missing since more than 1 year, author or users are not available. app/internet-explorer ARIA bug
Projects
None yet
Development

No branches or pull requests

3 participants