Skip to content

[Rule RSRCH]: element_id_unique should be a "Needs review" rather than "Violation" #2325

@jclintonibm

Description

@jclintonibm

Rule description

The rule element_id_unique should be a "Needs review" rather than "Violation" since non-unique IDs are not strictly an accessibility issue, they are a more general HTML parsing issue.

An example is where an external module is supplying SVGs along with functions to compose them into re-usable fragments. An SVG fragment of one is:

<svg xmlns="http://www.w3.org/2000/svg" x...>
  <defs>
    <linearGradient id="jira-linear-gradient" ...>
      ...
    </linearGradient>
  </defs>
  <path ... fill="url(#jira-linear-gradient)" />
</svg>

These can be composed into SVG groups by the external module e.g.:

Image

The IBM Accessibility tool triggers a violation when there are multiple copies of this same SVG and therefore there are multiple occurrences of the linearGradient ID "jira-linear-gradient" (or multiples of any of the hundreds of SVGs provided by the external module that include a defs object).

In addition, a page in our application may contain dozens or hundreds of these "violations" if an SVG occurs more than once e.g.:

Image

This means it's easy to miss genuine accessibility issues in the noise.

When triggered the rule itself gives the following information:

Note: The 4.1.1 Parsing requirement was removed from WCAG. However, the Checker will report an issue against another accessibility requirement when it detects it causes an accessibility issue.

However, no other accessibility requirements are violated by these SVGs.

Relevant requirement(s)

4.1.1 Parsing

High-level approach and rule scope

No response

Ruleset and failure level

No response

Failure level

No response

Different failure level

No response

Failure cases

No response

Metadata

Metadata

Assignees

Labels

T71engineIssues in the accessibility-checker-engine componentuser-reportedIssues identified outside of the core team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions