When using `role="heading"` and `aria-level`, jumping directly to a specific heading level is buggy in IE #5434

nvaccessAuto opened this Issue Oct 21, 2015 · 3 comments

1 participant


Reported by jmuheim on 2015-10-21 13:02
I have added a demo of how to overrule heading levels using ARIA:


While playing with it, I noticed that NVDA jumps to headings of all levels when pressing the 1 key. The 2 key seems to work as expected.

Is this a bug in NVDA with IE? In FF it works, and JAWS works in both FF and IE.


Comment 1 by jteh on 2015-10-21 22:53
Confirmed. It is a bug. The code is looking for an h1 or a role="heading" aria-level="1", but it doesn't account for the fact that aria-level should override the tag. Unfortunately, this is going to be tricky to fix, since we can only match using restricted criteria for quick navigation.


Comment 2 by jteh on 2015-10-22 01:02
Technical: We can do this with the following matches:

  • h1-6 tag with correct aria-level
  • hx tag where x is correct level and no aria-level
  • role="heading" with correct aria-level

Comment 3 by Michael Curran <mick@... on 2015-11-02 05:24
In commit 113f9e2:
Merge branch 't5434' into next. Incubates #5434
Added labels: incubating

@nvaccessAuto nvaccessAuto removed the incubating label Dec 1, 2015
@michaelDCurran michaelDCurran added a commit that closed this issue Dec 1, 2015
@michaelDCurran michaelDCurran In Internet Explorer and other MSHTML controls, moving to specific he…
…ading levels with single letter navigation now behaves as expected when the level of a heading is overridden for accessibility purposes (specifically, when aria-level overrides the level of an h tag).


* In the value lists  in the IterNodesByAttribs search dictionaries, None can now be included along side other values. I.e. Matches on these values or the absents of the attribute all together. Previously None could only be used by itself.
* When quick nav searching for a specific heading level, only match on a specific heading level tag if it does not have an aria-level.

Fixes #5434.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment