Is NVDA using the wrong type of widget (tree) to show the headings in the Elements List dialog?


Go to and bring up the list of headings (Ins+F7).

WebAIM has two h2s before the main h1. NVDA displays all the headings using a tree widget but a tree usually has the root node at the top. In this case, NVDA displays the first two h2s and the main h1 all as sibling tree nodes at "level 0". After the h1, everything else is correct but it makes it appear that there are three h1s on the page, which is not correct.

To add to the confusion, the heading levels are not announced, presumably because NVDA is relying on the tree level to be announced, although the tree level is 0-based and heading levels are 1-based.

When I navigate the tree using the down arrow, I hear:

  • "WebAIM - Web Accessibility In Mind  1 of 3  level 0"
  • "Main Navigation  2 of 3  level 0"
  • "We have web accessibility in mind  expanded  3 of 3  level 0"
They all say "level 0", implying they have the same heading level.

If I keep navigating down the tree, I'll then hear more h2s under the main h1:

  • Accessibility Training  1 of 11
  • Accessible Site Certification  2 of 11  level 1
  • Technical Assistance  3 of 11  level 1

The first two h2s should be on the same level as these latter h2s but I don't think the tree widget will allow that, so perhaps using a tree widget in the headings element list is not the appropriate widget.

It might help if the actual heading level were also listed in the tree.  At least then I'd hear "heading level 2" for the first two h2s and even though they'd still be on "level 0" of the tree.