Visual Headings - with visual heading defined programmatically using heading elements, but role=heading is used AND aria-level does not match heading element level

Test Case Summary

Test Case ID

TC13.2-1.c-fail-2

Test Case Description

Visual headings are assigned programmatic heading structure by HTML element tag <h#> or by ARIA attributes role="heading" with aria-level="#". If using HTML and ARIA together, the HTML level and aria level must match.

The code sample provides mismatched heading levels (HTML heading level is 3. ARIA heading level is 4.). A successful test should identify a FAIL against Baseline 13.2 Visual Headings.

Applicable ICT Baseline Test

13.2 Test Procedure for Visual Headings

Baseline Test ID: 13.2-VisHeadingProg

Test Instruction: 1.c

Test Case Detail

Expected Baseline Result

FAIL

The “Baroque Period” heading in the code sample has mismatched heading levels (HTML heading level is 3. ARIA heading level is 4.)

Test Data

Single-Page URL

Embedded Code

Code

Test Case Instruction

Test Instruction Instruction Detail Expected Test Case Result
IC-1 Visually apparent headings, which denote sections of content. Headings are often in a larger, bolded font separated from paragraphs by extra spacing (though not always). Note the hierarchy and structure of each heading with respect to other headings on the page. Visual headings found.
13.2-1 Check that all visual headings are programmatically determinable and that programmatic heading levels logically match the visual heading presentation within the heading structure [SC 1.3.1].  
13.2-1.a The most important heading(s) should have the highest priority level. For example, <h1> is a higher level than <h2>, which is higher than <h3>. Pass: The visual <h1> heading is higher than the visual <h2> heading, which is higher than the <h3> headings.
13.2-1.b Headings with an equal or higher level start a new section; headings with a lower level start new subsections that are part of the higher leveled section. Pass: the visual hierarchy of the headings is correct
13.2-1.c HTML or ARIA programmatically identify each heading. When both are used, heading levels must match. H42: each heading is marked with <h1> to <h6>. ARIA12: each heading is marked with role="heading" and aria-level="#". The default heading level is “2” when none is specified. Fail: The “Baroque Period” heading has mismatched heading levels. HTML heading level is 3. ARIA heading level is 4.
Result If the above check fails, then Baseline Test 13.2-VisHeadingProg fails. FAIL; 13.2-1.c fails