dequelabs / axe-core

Accessibility engine for automated Web UI testing
https://www.deque.com/axe/
Mozilla Public License 2.0
5.9k stars 772 forks source link

landmark-unique does not reflect latest HTML-role mappings #4460

Closed gabalafou closed 3 months ago

gabalafou commented 4 months ago

Product

axe Extension

Product Version

4.79.3

Latest Version

Issue Description

Note: I wrote up this issue based on the browser extension, but I also checked that this issue holds with the newer axe-core 4.9.1 using @axe-core/cli.

Expectation

The following URL should have zero landmark-unique violations: https://pydata-sphinx-theme.readthedocs.io/en/latest/examples/kitchen-sink/generic.html

Actual

Axe finds several landmark-unique violations at the above URL.

These landmark-unique violations are for several <aside> tags on that page that are actually not represented by the latest browsers as role=complementary landmarks.

How to Reproduce

Using:

Scan the following URL: https://pydata-sphinx-theme.readthedocs.io/en/latest/examples/kitchen-sink/generic.html

Observe that the tool reports several instances of the landmark-unique violation.

Additional context

The latest browsers follow the HTML-role mapping specification and do not assign role=complementary to unnamed <aside> tags that are scoped to a sectioning content element (section 3.4.9).

But apparently Axe-core treats all <aside> tags in the document as landmarks, which triggers the landmark-unique violation.

For more context:

WilcoFiers commented 4 months ago

@gabalafou Thank you for reporting. I agree with your findings, and knowing this has been updated in the latest browsers now I see no reason for axe not to do the same thing. I'll add it to the 4.10 milestone. If you're interested, we'd welcome a pull request.

gabalafou commented 4 months ago

I created pull request #4469. This is my first pull request for Axe-core, so I doubt I got everything right