act-rules.github.io icon indicating copy to clipboard operation
act-rules.github.io copied to clipboard

WCAG mapping for 'Link has non-empty accessible name' c487ae

Open dd8 opened this issue 3 years ago • 5 comments

The mapping for this rule is:

4.1.2 Name, Role, Value (Level A) 2.4.4 Link Purpose (In Context) (Level A) 2.4.9 Link Purpose (Link Only) (Level AAA)

but failed example 9 is also a 1.1.1 failure:

https://act-rules.github.io/rules/c487ae#failed-example-9

This example matches the 1.1.1 failure condition in F65 https://www.w3.org/TR/WCAG20-TECHS/F65.html

dd8 avatar Jun 21 '22 19:06 dd8

The rules maps to SC that are guaranteed to fail if the rule fails, to maintain the fail-on-fail relationship and prevent false positives.

That is, we guarantee that when the rule fails than 2.4.4, 2.4.9 and 4.1.2 also fail. If we added a 1.1.1 mapping, we would have a lot of false positive where the rule can fail on a page where 1.1.1 is satisfied, but the mapping would still say "if the rule has at least one failed outcome, then 1.1.1 fails", which would be incorrect.

This is why this rule does not map to 1.1.1. It is possible that failing this rule creates a failure of 1.1.1, but it is not guaranteed.

Jym77 avatar Jun 23 '22 13:06 Jym77

That's fine. Just wanted to flag that failing SC 1.1.1 in addition to the other SCs for Example 9 is correct, so the conformance mapping cannot require that only 4.1.2, 2.4.4 and 2.4.9 are flagged for Example 9

dd8 avatar Jun 24 '22 10:06 dd8

That's an awfully good point 🤔

On one hand, Understanding ACT Consistency says that the tool should report all the SC that are expected to fail but doesn't mention reporting more SC (for all or some of the test cases). On the other hand it seems that on some rule Alfa has a partially consistent mapping only because it reports too many SCs…

But it may indeed be the case that reporting "too many" SCs is actually fine for some (or even all…) failed test cases. And we should probably consider the implementation as consistent in these cases.

I do feel this ties a bit with the discussion we had around removing SCs for some rules (https://github.com/act-rules/act-rules.github.io/pull/1854#pullrequestreview-1001009558, CG call, and https://github.com/act-rules/act-rules.github.io/pull/1862 for the latest occurrence). Because a solution could be to say "this rule must report A.B.C and may report X.Y.Z".

Jym77 avatar Jun 28 '22 07:06 Jym77

This is different from the interpretation we took when we wrote this rule. I don't think area elements should fail 1.1.1, they aren't the non-text content, they are links on top of non-text content. I think this technique is wrong. We can debate whether or not this was the correct decision, but the intent was to explicitly not fail area elements under 1.1.1. If we want to change that we may need to pull area elements into a separate rule, in the same way that we put image buttons into a separate rule.

I don't think that's the correct interpretation though. If you take a native link with no content, give it an accessible name, and position it on top of an image to simulate the effect of an area element - I don't think that suddenly then becomes non-text content. Similarly, I don't think links inside SVG are non-text content, regardless of if those have <text> inside them or not.

WilcoFiers avatar Jun 28 '22 11:06 WilcoFiers

I don't think area elements should fail 1.1.1, they aren't the non-text content, they are links on top of non-text content

In some cases I think they are non-text content. For example, a clickable map of the world with an <area shape=poly> for each country. There's a 1-to-1 mapping between each area outline and each country shape on the map. The fact they're in an area element is an implementation detail - you could also implement the world map as an SVG with an <a> element round each country shape. WCAG is technology agnostic, so there shouldn't be a difference in failures for 2 world maps that are implemented differently, but look and behave identically.

The Understanding 1.1.1 document has 2 techniques (H24 and F65) relating to area elements and also this text:

For non-text content that is a control or accepts user input , such as images used as submit buttons, image maps or complex animations, a name is provided to describe the purpose of the non-text content so that the person at least knows what the non-text content is and why it is there

My understanding of this is the image map areas accept user input (clicks) so need they text alternatives.

If the missing area alt doesn't fail 1.1.1, how could you satisfy 1.1.1. for each clickable country on the world map?

dd8 avatar Jun 28 '22 15:06 dd8

SC 1.1.1 should be mapped as a secondary requirement.

This rule was used as Example 9 in the ACT Rules Format draft update.

kengdoj avatar Jun 12 '23 23:06 kengdoj

Update will be made by https://github.com/act-rules/act-rules.github.io/pull/2060.

kengdoj avatar Jul 20 '23 13:07 kengdoj