Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,27 @@

WAVE Tool's Reference material on Link to PDF document may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

### WAVE Category
Alerts
### WAVE Error
Link to PDF document
### What It Means
A link to a PDF document is present.
### Why It Matters
Unless authored with accessibility in mind, PDF documents often have accessibility issues. Additionally, PDF documents are typically viewed using a separate application or plug-in, and can thus cause confusion and navigation difficulties.
### What To Do
Ensure the PDF document is natively accessible. Additionally, inform the user that the link will open a PDF document. Because PDF documents may have limitations in accessibility (particularly for complex content) and require a separate program, HTML content should often be used in place of or in addition to the PDF document.
### The Algorithm... in English
A link to a .pdf file is present.
### Standards and Guidelines
None
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: <a href="https://wave.webaim.org/api/docs?format=html#link_pdf" target="_blank">https://wave.webaim.org/api/docs?format=html#link_pdf</a>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Link to PDF document
> ### What It Means
> A link to a PDF document is present.
> ### Why It Matters
> Unless authored with accessibility in mind, PDF documents often have accessibility > issues. Additionally, PDF documents are typically viewed using a separate application or plug- in, and can thus cause confusion and navigation difficulties.
> ### What To Do
> Ensure the PDF document is natively accessible. Additionally, inform the user that the link will open a PDF document. Because PDF documents may have limitations in accessibility (particularly for complex content) and require a separate program, HTML content should often be used in place of or in addition to the PDF document.
> ### The Algorithm... in English
> A link to a .pdf file is present.
> ### Standards and Guidelines
> None


## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,30 @@

WAVE Tool's Reference material on Missing fieldset may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>
<p>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Missing fieldset
> ### What It Means
> A group of check boxes or radio buttons is not enclosed in a fieldset.
> ### Why It Matters
> A fieldset provides a visual and structural grouping of related form elements. It is typically necessary for groups of check boxes or radio buttons where a higher level description (called a legend) is necessary to understand the function of the check boxes or radio buttons. The description will be identified by a screen reader only if provided in a fieldset legend.
> ### What To Do
> Determine whether the grouping of check boxes or radio buttons has or needs text that explains the purpose of the check boxes or radio button grouping. If so, mark up the group within a fieldset and put the group description in a legend element.
> ### The Algorithm... in English
> Two or more checkbox or radio input elements within a form have the same name value, but are not enclosed in a fieldset.
> ### Standards and Guidelines
> - [1.1.1 Non-text Content (Level A)](https://webaim.org/standards/wcag/checklist#sc1.1.1)
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)
> - [3.3.2 Labels or Instructions (Level A)](https://webaim.org/standards/wcag/checklist#sc3.3.2)

</p>
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: <a href="https://wave.webaim.org/api/docs?format=html#fieldset_missing" target="_blank">https://wave.webaim.org/api/docs?format=html#fieldset_missing</a>


<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Missing fieldset
> ### What It Means
> A group of check boxes or radio buttons is not enclosed in a fieldset.
> ### Why It Matters
> A fieldset provides a visual and structural grouping of related form elements. It is typically necessary for groups of check boxes or radio buttons where a higher level description (called a legend) is necessary to understand the function of the check boxes or radio buttons. The description will be identified by a screen reader only if provided in a fieldset legend.
> ### What To Do
> Determine whether the grouping of check boxes or radio buttons has or needs text that explains the purpose of the check boxes or radio button grouping. If so, mark up the group within a fieldset and put the group description in a legend element.
> ### The Algorithm... in English
> Two or more checkbox or radio input elements within a form have the same name value, but are not enclosed in a fieldset.
> ### Standards and Guidelines
> - [1.1.1 Non-text Content (Level A)](https://webaim.org/standards/wcag/checklist#sc1.1.1)
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)
> - [3.3.2 Labels or Instructions (Level A)](https://webaim.org/standards/wcag/checklist#sc3.3.2)

## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,33 @@

WAVE Tool's Reference material on Orphaned form label may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>
<p>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

### WAVE Category
Alert

### WAVE Error
Orphaned form label

### What It Means
A form label is present, but it is not correctly associated with a form control.

### Why It Matters
If a label is not associated with a control, screen reader users may not know the function or purpose of the form control.

### What To Do
If the label is for a form control that is present on the page, ensure that the for attribute of the label references the id value of the associated form control. If no form control is present, either remove the label or add the missing control.

### The Algorithm... in English
[REPLACE WITH WAVE CONTENT FOR The Algorithm... In English]

### Standards and Guidelines
A `<label>` element does not have a properly associated form control. A label must have a for attribute value that matches the id value of a form control, or it must surround the form control itself.

</p>
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: https://wave.webaim.org/api/docs?format=html#label_orphaned

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alert
> ### WAVE Error
> Orphaned form label
> ### What It Means
> A form label is present, but it is not correctly associated with a form control.
> ### Why It Matters
> An incorrectly associated label does not provide functionality or information about the form control to the user. It usually indicates a coding or other form labeling issues.
> ### What To Do
> Properly associate the label with its corresponding form control. If there is no corresponding form control, remove the label. Labels are not appropriate for image, submit, reset, button, or hidden form controls.
> ### The Algorithm... in English
> A `<label>` element
> - does not surround a form control and the for attribute is missing/empty
> - references an element that is not present in the page
> - references an element that is not an <input>, <select> or <textarea> element
> - references an <input> element with image, submit, reset, button, or hidden type
> ### Standards and Guidelines
> - 1.1.1 Non-text Content (Level A)
> - 1.3.1 Info and Relationships (Level A)
> - 2.4.6 Headings and Labels (Level AA)
> - 3.3.2 Labels or Instructions (Level A)

## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,30 @@

WAVE Tool's Reference material on Possible heading may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>
<p>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Possible heading
> ### What It Means
> Text appears to be a heading but is not a heading element.
> ### Why It Matters
> Heading elements (`<h1>-<h6>`) provide important document structure, outlines, and navigation functionality to assistive technology users. If heading text is not a true heading, this information and functionality will not be available for that text.
> ### What To Do
> If the paragraph is a section heading, use a heading element instead (`<h1>-<h6>`).
> ### The Algorithm... in English
> A `<p>` element contains less than 50 characters and is either:
> - 20 pixels or bigger
> - 16 pixels or bigger and bold and/or italicized
> ### Standards and Guidelines
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.1 Bypass Blocks (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)

</p>
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: <a href="https://wave.webaim.org/api/docs?format=html#heading_possible" target="_blank">https://wave.webaim.org/api/docs?format=html#heading_possible</a>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Possible heading
> ### What It Means
> Text appears to be a heading but is not a heading element.
> ### Why It Matters
> Heading elements (`<h1>-<h6>`) provide important document structure, outlines, and navigation functionality to assistive technology users. If heading text is not a true heading, this information and functionality will not be available for that text.
> ### What To Do
> If the paragraph is a section heading, use a heading element instead (`<h1>-<h6>`).
> ### The Algorithm... in English
> A `<p>` element contains less than 50 characters and is either:
> - 20 pixels or bigger
> - 16 pixels or bigger and bold and/or italicized
> ### Standards and Guidelines
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.1 Bypass Blocks (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)

## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,26 @@

WAVE Tool's Reference material on Redundant link may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>
<p>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Redundant link
> ### What It Means
> Adjacent links go to the same URL.
> ### Why It Matters
> When adjacent links go to the same location (such as a linked product image and an adjacent linked product name that go to the same product page) this results in additional navigation and repetition for keyboard and screen reader users.
> ### What To Do
> If possible, combine the redundant links into one link and remove any redundant text or alternative text (for example, if a product image and product name are in the same link, the image can usually be given alt="").
> ### The Algorithm... in English
> Two adjacent links go to the same URL.
> ### Standards and Guidelines
> - [2.4.4 Link Purpose (In Context) (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.4)

</p>
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: <a href="https://wave.webaim.org/api/docs?format=html#link_redundant" target="_blank">https://wave.webaim.org/api/docs?format=html#link_redundant</a>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Redundant link
> ### What It Means
> Adjacent links go to the same URL.
> ### Why It Matters
> When adjacent links go to the same location (such as a linked product image and an adjacent linked product name that go to the same product page) this results in additional navigation and repetition for keyboard and screen reader users.
> ### What To Do
> If possible, combine the redundant links into one link and remove any redundant text or alternative text (for example, if a product image and product name are in the same link, the image can usually be given alt="").
> ### The Algorithm... in English
> Two adjacent links go to the same URL.
> ### Standards and Guidelines
> - [2.4.4 Link Purpose (In Context) (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.4)

## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,28 @@

WAVE Tool's Reference material on Skipped heading level may not specifically address your problem. We provide it here for optional reading.

<details><summary>Click to see WAVE Tool Reference</summary>
<p>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Skipped heading level
> ### What It Means
> A heading level is skipped.
> ### Why It Matters
> Headings provide document structure and facilitate keyboard navigation by users of assistive technology. These users may be confused or experience difficulty navigating when heading levels are skipped.
> ### What To Do
> Restructure the document headings to ensure that heading levels are not skipped.
> ### The Algorithm... in English
> A heading level is skipped (e.g., an `<h1>` is followed by an `<h3>`, with no intermediate `<h2>`). Note that an `<h1>` is not required to be the first heading within the document.
> ### Standards and Guidelines
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.1 Bypass Blocks (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)


</p>
</details>
??? Info "Click to see WAVE Tool Reference"

This content added 2026-02-26. Check for updated guidance at: <a href="https://wave.webaim.org/api/docs?format=html#heading_skipped" target="_blank">https://wave.webaim.org/api/docs?format=html#heading_skipped</a>

<!-- Note For Wiki Author: WAVE Tool text content will use text that break markdown generation for the details dropdown. If the copy/pasted text includes angle brackets, surround them with backticks to avoid this problem. -->

> ### WAVE Category
> Alerts
> ### WAVE Error
> Skipped heading level
> ### What It Means
> A heading level is skipped.
> ### Why It Matters
> Headings provide document structure and facilitate keyboard navigation by users of assistive technology. These users may be confused or experience difficulty navigating when heading levels are skipped.
> ### What To Do
> Restructure the document headings to ensure that heading levels are not skipped.
> ### The Algorithm... in English
> A heading level is skipped (e.g., an `<h1>` is followed by an `<h3>`, with no intermediate `<h2>`). Note that an `<h1>` is not required to be the first heading within the document.
> ### Standards and Guidelines
> - [1.3.1 Info and Relationships (Level A)](https://webaim.org/standards/wcag/checklist#sc1.3.1)
> - [2.4.1 Bypass Blocks (Level A)](https://webaim.org/standards/wcag/checklist#sc2.4.1)
> - [2.4.6 Headings and Labels (Level AA)](https://webaim.org/standards/wcag/checklist#sc2.4.6)

## Example of a DOM Snippet Generated From WAVE Tool

Expand Down
Loading