diff --git a/_rules/heading-descriptive-b49b2e.md b/_rules/heading-descriptive-b49b2e.md
index f469d6bc92..254b254500 100755
--- a/_rules/heading-descriptive-b49b2e.md
+++ b/_rules/heading-descriptive-b49b2e.md
@@ -1,10 +1,10 @@
---
id: b49b2e
-name: Heading is descriptive
+name: Heading is relevant
rules_format: 1.1
rule_type: atomic
-description: |
- This rule checks that headings describe the topic or purpose of the content.
+description:
+ This rule checks that headings are relevant to a specific topic, purpose or page.
accessibility_requirements:
wcag20:2.4.6: # Headings and labels (AA)
forConformance: true
@@ -13,11 +13,11 @@ accessibility_requirements:
inapplicable: further testing needed
input_aspects:
- Accessibility Tree
- - DOM Tree
- CSS Styling
- Language
acknowledgments:
authors:
+ - Armağan Tekdöner
- Carlos Duarte
- Dagfinn Rømen
- Geir Sindre Fossøy
@@ -28,37 +28,40 @@ acknowledgments:
## Applicability
-This rule applies to any [semantic][semantic role] `heading` element that is [included in the accessibility tree][] and has a non-empty (`””`) [accessible name][].
+This rule applies to any [semantic](semantic-role "Definition of semantic role") `heading` element that is [included in the accessibility tree](included-in-the-accessibility-tree "Definition of included in the accessibility tree") and has a non-empty `""` [accessible name](accessible-name "Definition of accessible name"). It also applies to other elements that are not semantically `heading` elements, but that are presented as headings.
-## Expectation
+### Applicability Type Designation
-Each target element describes the topic or purpose of the first [perceivable content][] after the test target that is not [decorative][]. The order of elements is determined by the [flat tree][].
+Rule contains subjective applicability, depending on whether the target element should be considered a heading.
-**Note:** Headings do not need to be lengthy. A word, or even a single character, may be sufficient.
+## Expectations
+
+Each heading is relevant to the specific page or section where it appears and it is sufficiently intelligible.
## Background
-Headings that are visible but not in the accessibility tree are a failure of [Success Criterion 1.3.1 Info and Relationships][sc131]. These are not tested by this rule but they can still fail [Success Criterion 2.4.6 Headings and Labels][sc246].
+Headings are normally marked as semantic headings using `
` to `
` elements or using generic elements with correct ARIA roles that convert them into semantic headings. On the other hand, on websites that are not adhering to HTML5 semantic coding practices, or that are intended to apply semantics in the code while containing errors in the usage of ARIA roles for example, other elements can be observed that function as headings. Sometimes a heading is a list item, sometimes a figcaption, sometimes a table caption, sometimes another element that is not normally a heading.
+
+Under this rule, "content" refers to any textual or non-textual element presented on the web page, including sections, paragraphs, forms, user interface components, media galleries, lists, or hyperlinks.
-Testing tools treat empty headings `` or `div role="heading" aria-level="1">` differently. Some report that empty headings fail under 1.3.1 Info and Relationships or 2.4.6 Labels or Instructions. Other tools report that these headings pass because they are ignored by most assistive technologies and cause no accessibility barriers at all. This rule does not include examples of empty headings because there is currently no harmonized approach for testing them.
+To pass, a heading must be relevant to its associated content. (Headings consisting of placeholder text or uninformative character strings fail this rule inherently.)
### Assumptions
-This rule assumes that the [flat tree][] order is close to the reading order as elements are rendered on the page. Due to positioning, it is possible to render a document in an order that greatly differs from the tree order, in which case the content which is visually associated with a heading might not be the content following it in tree order and this rule might fail while [Success Criterion 2.4.6 Headings and Labels][sc246] is still satisfied.
+The limitations for the evaluation are live, dynamic content fields (e.g., streaming data feeds, live social walls, or active chat interfaces) where the content updates at a rate that prevents static evaluation against its structural headings or content that is highly specialized, academic, or artistic are exceptions when the evaluator does not possess the necessary know-how to determine whether the heading is relevant.
-This rule also assumes that the content the heading is intended to describe is [visible][] and not hidden from assistive technologies. Otherwise, cases such as expandable content using a heading might fail this rule while [Success Criterion 2.4.6 Headings and Labels][sc246] is still satisfied.
+This rule is designed as a test-to-pass evaluation and failures should be reserved for obviously non-compliant cases. Testers should default to a passing or not applicable result when in doubt.
### Accessibility Support
-Implementation of [Presentational Roles Conflict Resolution][] varies from one browser or assistive technology to another. Depending on this, some [semantic][semantic role] `heading` elements can fail this rule with some technology but users of other technologies would not experience any accessibility issue.
+There are no accessibility support issues known.
### Other Resources
-- [Understanding Success Criterion 1.3.1: Info and Relationships](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html)
- [Understanding Success Criterion 2.4.6: Headings and Labels](https://www.w3.org/WAI/WCAG22/Understanding/headings-and-labels.html)
- [G130: Providing descriptive headings](https://www.w3.org/WAI/WCAG22/Techniques/general/G130)
-- [H42: Using h1-h6 to identify headings](https://www.w3.org/WAI/WCAG22/Techniques/html/H42)
-- [ARIA12: Using role=heading to identify headings](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA12)
+- [Understanding Success Criterion 2.4.10 Section Headings](https://www.w3.org/WAI/WCAG21/Understanding/section-headings)
+- [Use headings to convey meaning and structure](https://www.w3.org/WAI/tips/writing/#use-headings-to-convey-meaning-and-structure)
- [HTML Specification - Heading content](https://html.spec.whatwg.org/#heading-content)
## Examples
@@ -66,164 +69,388 @@ Implementation of [Presentational Roles Conflict Resolution][] varies from one b
### Passed
#### Passed Example 1
-
-This `h1` heading element describes the topic of the following paragraph.
-
+This `h1` element that states the functional purpose of the page content is relevant.
```html
-
-
Opening Hours
-
We are open Monday through Friday from 10 to 16
-
+
Renewing Your Passport Online
+
If you meet all of these criteria explained in the sections listed below, you can renew your passport online.
```
#### Passed Example 2
+This `h1` element about the marketing content that follows is relevant.
+```html
+
Fresh deals just dropped: Printers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
-This heading marked up with an [explicit role][] of `heading` describes the topic of the following paragraph.
+#### Passed Example 3
+This `h2` element for the structured weather forecast table that follows is relevant.
+```html
+
Current Weather in New York
+
+
+
Day
+
Condition
+
High / Low
+
+
+
Monday
+
Partly Cloudy
+
18°C / 12°C
+
+
+
Tuesday
+
Sunny
+
22°C / 14°C
+
+
+```
+#### Passed Example 4
+This `h2` element acting as a structural identifier for sequential content sections is relevant, where the content that follows rarely alters whether it is relevant as long as an obvious misplacement is not observed.
```html
-
- Opening Hours
-
We are open Monday through Friday from 10 to 16
-
+
Chapter 4
+
+ It was the White Rabbit, trotting slowly back again, and looking anxiously about as it went, as if it had lost something; and she heard it muttering to itself "The Duchess! The Duchess! Oh my dear paws! Oh my fur and whiskers! She'll get me executed, as sure as ferrets are ferrets! Where can I have dropped them, I wonder?" Alice guessed in a moment that it was looking for the fan and the pair of white kid gloves, and she very good-naturedly began hunting about for them, but they were nowhere to be seen.
+
```
-#### Passed Example 3
+#### Passed Example 5
+This `h3` element used as a generic section heading is relevant, as long as the section content retains basic contextual relevance.
+```html
+
Glossary
+
+
API (Application Programming Interface): A set of rules and protocols that allows different software applications to communicate with each other.
+
Cache: A temporary storage area that saves web page resources to improve loading speed on subsequent visits.
+
DOM (Document Object Model): A programming interface for web documents that represents the page structure as a node tree.
+
Metadata: Information embedded within a document or web page that describes its content, author, or properties.
+
Responsive Design: A design approach that ensures web pages render adaptively across a variety of screen sizes and devices.
+
+```
-This `h1` heading element with an image describes the topic of the following paragraph.
+#### Passed Example 6
+This `h1` element introducing the subsequent list is relevant, as long as the section content retains basic contextual relevance.
+```html
+
Don't Forget To Bring:
+
+
A valid government-issued photo ID (e.g., passport, driver's license, health card, etc.)
+
Two recent proof of address documents (e.g., utility bill, bank statement, tax letter, etc.)
+
Your printed appointment confirmation letter
+
+```
+#### Passed Example 7
+This `h1` element is relevant to the page content despite exhibiting another WCAG failure for having a severely low contrast ratio.
```html
-
-
-
-
-
We are open Monday through Friday from 10 to 16
-
+
+
Your Future Starts Here, at Our University
+
+ Discover world-class academic programs, vibrant campus life, and pioneering research opportunities designed to help you achieve your professional goals. Apply today to join our global community of scholars.
+
```
-#### Passed Example 4
+#### Passed Example 8
+This `p` element styled as a heading is relevant to the section content, despite failing other WCAG criteria due to using changes in text presentation without using the appropriate markup and utilizing an invalid ARIA value.
+```html
+
A Million Different Journeys
+
+
Curated international vacation packages
+
Last-minute flight and hotel deals
+
Guided eco-tours and adventure trips
+
+```
-This `h1` heading element has a single character text that describes the topic of the following description list.
+#### Passed Example 9
+This `h1` element is relevant to the purpose of the page content, despite being overly casual and unnecessarily verbose.
+```html
+
Welcome to Our State-of-the-Art Brand New Wizard That Will Mail Your Beautiful Loyalty Card Right to Your Doorstep
+
Step 1 of 4: Personal Information
+
+```
+#### Passed Example 10
+This `h1` element identifying the topic of a travel safety guidance page is relevant, despite containing redundant phrasing.
```html
-
-
A
-
-
airplane
-
- a powered flying vehicle with fixed wings and a weight greater than that of the air it displaces.
-
-
apple
-
- the round fruit of a tree of the rose family, which typically has thin green or red skin and crisp flesh.
-
-
-
+
Travel Advisories and Travel Advisory Information
+
+
Keep digital copies of your passport and vital documents stored securely.
+
Monitor local news and official safety channels while abroad.
+
Register your contact details with your embassy prior to departure.
+
```
-#### Passed Example 5
+#### Passed Example 11
+This `h2` element for the promotional banner that follows is relevant, regardless of redundant text present verbatim in the title attribute or the accompanying `figcaption` element.
+```html
+
Our hotel, conveniently located near the historic town center, features 118 guest rooms and 18 luxury suites
+
+
+ Our hotel, conveniently located near the historic town center, features 118 guest rooms and 18 luxury suites.
+
+```
-This heading marked up with an [explicit role][] of `heading` describes the topic of the following paragraph. The heading is positioned off screen but is [included in the accessibility tree][].
+#### Passed Example 12
+This `h2` element is relevant because it describes the section content, even though the wording is generic and the heading states the obvious.
+```html
+
+```
+#### Passed Example 13
+This `h2` element is relevant despite using a metaphorical phrase to introduce a satirical article on inflation. It passes this rule because it is contextually relevant when read alongside the content, even though it relies on stylistic phrasing.
```html
-
- Opening Hours
-
- We are open Monday through Friday from 10 to 16
-
-
+
Final Day for Savings
+
Everything will be more expensive tomorrow.
+
Persistent inflation continues to erode purchasing power, forcing consumers to adjust to steadily rising costs across basic goods and services.
```
-#### Passed Example 6
+#### Passed Example 14
+This `h1` element is relevant to the section content despite using irony to introduce an opinion piece on global peace, regardless of editorial style or literary tone.
+```html
+
Nobel's Peace Prize Office is Temporarily Closed Due to Declining Business
+
Recent diplomatic data shows active armed conflicts reaching a two-decade high across multiple continents.
+
While international peace organizations struggle to broker lasting ceasefires, humanitarian efforts require immediate global support and renewed commitment to de-escalation.
+```
-This heading describes the first [perceivable content][] after it (the first `p` element). The next [perceivable content][] (the second `p` element) is not considered by this rule.
+#### Passed Example 15
+This `h1` element that uses a question to introduce the section topic is relevant.
+```html
+
Opening hours?
+
24/7
+
No opening hours. We are at your service round the clock!
+```
+
+#### Passed Example 16
+This `h3` element is relevant to the section despite containing a duplicated word from a paste error.
+```html
+
Contact Contact Customer Support
+
Email: support@example.com
+
Phone: 1-800-555-5555
+```
+#### Passed Example 17
+This `h3` element is relevant to the section despite containing residual placeholder text, a trailing whitespace, and a stray angle bracket at the end that resulted from publishing errors.
```html
-
-
Opening Hours
-
We are open Monday through Friday from 10 to 16
-
We are open Saturday from 10 to 13
-
+
Contact Customer Support (h3) <
+
Email: support@example.com
+
Phone: 1-800-555-5555
```
### Failed
#### Failed Example 1
-
-This `h1` heading element does not describes the topic of the following paragraph.
-
+This `h1` element is not relevant as its sole content is unremoved placeholder text from a content template. It fails this rule because the heading text serves as a developmental instruction rather than describing the purpose or topic of the page content.
```html
-
-
Weather
-
We are open Monday through Friday from 10 to 16
-
+
[Replace this text with heading 1]
+
If you meet all of these criteria explained in the sections listed below, you can renew your passport online.
```
#### Failed Example 2
+This `h1` element containing a raw back-end runtime error message injected during server-side execution is not relevant. It fails this rule because the displayed text is a system-generated message rather than an intentional heading describing the purpose or topic of the page content.
+```html
+
Uncaught Error: Call to undefined function get_user_data() in /var/www/html/profile.php on line 42
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
-This heading marked up with an [explicit role][] of `heading` does not describe the topic of the following paragraph.
+#### Failed Example 3
+This `h1` element containing only a raw timestamp is not relevant. It fails this rule because the date and time string do not identify or describe the primary purpose or topic of the page content.
+```html
+
+
2026-06-30 13:46 UTC
+
+ Discover world-class academic programs, vibrant campus life, and pioneering research opportunities designed to help you achieve your professional goals. Apply today to join our global community of scholars.
+
+```
+#### Failed Example 4
+This `h1` element is not relevant because the text "Hi" provides no context for the personal information form that follows.
```html
-
- Weather
-
We are open Monday through Friday from 10 to 16
-
+
Hi
+
Step 1 of 4: Personal Information
+
```
-#### Failed Example 3
+#### Failed Example 5
+This `img` element displaying an image of text that visually acts like a heading is not relevant because "Page 1" as a heading lacks any topic-specific descriptor for the content that follows, despite passing other applicable WCAG criteria.
+```html
+
+
+
Stainless Steel Countertop Microwave
+
Convection Toaster Oven
+
10-Cup Programmable Coffee Maker
+
Quiet-Operation Blender
+
+```
-This heading marked up with an [explicit role][] of `heading` does not describe the topic of the following paragraph. The heading is positioned off screen but is [included in the accessibility tree][].
+#### Failed Example 6
+This `span` element with role="heading" is not relevant because the text provides no discernable context regarding the article links that follow, despite passing other criteria.
+```html
+Welcome
+
+```
+#### Failed Example 7
+This `h2` element misrepresents the operational direction of a financial transaction. The heading text is not relevant, as it explicitly contradicts the functional purpose of the content it introduces.
```html
-
- Weather
-
- We are open Monday through Friday from 10 to 16
-
-
+
Request Money
+
```
-#### Failed Example 4
+#### Failed Example 8
+This `h1` element that incorrectly states the functional purpose of the page content is not relevant.
+```html
+
Renewing Your Passport Online
+
If you meet all of these criteria explained in the sections listed below, you can renew your driver's licence online.
+```
+
+#### Failed Example 9
+This `h3` element is not relevant to the section as the text it contains cannot be reliably interpreted to understand what the following emails and phone numbers are for.
+```html
+
ortcontact Custo
+
Email: support@example.com
+
Phone: 1-800-555-5555
-This `h1` heading element does not describe the first [perceivable content][] after it (the first `p` element). The next [perceivable content][] (the second `p` element) is not considered by this rule.
+```
+#### Failed Example 10
+This `h3` element is not relevant as it contains the former placeholder text at the beginning of the heading.
```html
-
-
Weather
-
We are open Monday through Friday from 10 to 16
-
It is going to rain tomorrow
-
+
Insert Your Heading Righ Here and Do It by the End of Day Contact Customer Support
+
Email: support@example.com
+
Phone: 1-800-555-5555
```
### Inapplicable
#### Inapplicable Example 1
-
-There is no heading.
-
+This snippet is inapplicable because the page contains no headings, explicit heading roles, visual heading styles, or images of text acting as headings.
```html
-
-
+
```
#### Inapplicable Example 2
-
-This `h1` heading element is not [included in the accessibility tree][].
-
+This snippet is inapplicable because the heading element has no content to evaluate.
```html
-
-
Opening Hours
-
We are open Monday through Friday from 10 to 16
-
+
```
-
-[decorative]: https://www.w3.org/TR/WCAG22/#dfn-pure-decoration 'WCAG definition of Pure decoration'
-[flat tree]: https://drafts.csswg.org/css-scoping/#flat-tree 'Definition of flat tree'
-[included in the accessibility tree]: #included-in-the-accessibility-tree 'Definition of included in the accessibility tree'
-[presentational roles conflict resolution]: https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none 'Presentational Roles Conflict Resolution'
-[sc131]: https://www.w3.org/TR/WCAG22/#info-and-relationships ' Success Criterion 1.3.1 Info and Relationships'
-[sc246]: https://www.w3.org/TR/WCAG22/#headings-and-labels 'Success Criterion 2.4.6 Headings and Labels'
-[semantic role]: #semantic-role 'Definition of semantic role'
-[visible]: #visible 'Definition of visible'
-[accessible name]: #accessible-name 'Definition of accessible name'
-[perceivable content]: #perceivable-content 'Definition of perceivable content'