HTML test cases

A series of HTML test cases to determine how they are announced in different screen reader / browser combinations.

Git repository

Page content sections


Basic form control and label tests

Tests to determine how form controls and their associated <label> and <legend> elements are announced. In some cases, the form element does not require or should not have a <label>.

Inputs

Other elements

Basic form controls support chart


<fieldset> tests

Tests to determine how <fieldset> elements are announced.

Checkboxes

Radio buttons

Fieldset support chart


<fieldset> with errors tests

Tests to determine how error messages associated with radio groups are announced.

Fieldsets with errors support chart


Nested <fieldset> tests

Tests to determine how nested <fieldset> elements are announced.

Nested fieldset support chart


Help text and error messages associated with form control tests

Tests to determine how help text and error messages can be associated with form controls.

Help text

Error messages

Help text and error message support chart


Required field tests

Tests to determine how required and aria-required are announced.

Tests to determine how "(required)"" added to label text is announced.

Tests to determine how hiding the "(required)" text is announced.

Required field support chart


<button> accessible name and description tests

The purpose these tests is to show the cascade order of how accessible names are applied in the accessibility tree for the <button> element. These examples should not be considered proper practice.

The purpose these tests is to show the cascade order of how accessible descriptions are applied in the accessibility tree for the <button> element.



<input> accessible name and description tests

The purpose these tests is to show the cascade order of how accessible names are applied in the accessibility tree for <input> elements. These examples should not be considered proper practice.

The purpose these tests is to show the cascade order of how accessible descriptions are applied in the accessibility tree for the <input> element.


<table> accessible name tests

The purpose these tests is to show the cascade order of how accessible names are applied in the accessibility tree for <table> elements. These examples should not be considered proper practice.

The purpose these tests is to show the cascade order of how accessible descriptions are applied in the accessibility tree for the <table> element.


aria-invalid tests

Tests to determine how the aria-invalid attribute is announced.

aria-invalid support chart


Form-based attribute tests

Tests to determine how max, aria-valuemax, min, aria-valuemin, maxlength, minlength, multiple and pattern attributes are announced.

Form attributes support chart


disabled attribute tests

Tests to determine how the boolean disabled attribute is announced.

disabled attribute support chart


readonly and aria-readonly attribute tests

Tests to determine how the boolean readonly and aria-readonly attributes are announced.

readonly and aria-readonly attribute support chart


ARIA landmark tests

Tests to determine how various landmarks are announced.

Landmarks without labels

Landmarks with aria-labelledby

Landmarks with aria-label

Multiple landmarks

Landmark support chart



Live region tests

Tests to determine how live regions are announced.

Live region support chart


onsubmit tests

Tests to determine how an onsubmit error is announced.



VoiceOver Rotor tests

Tests to determine if the VoiceOver Rotor displays the landmark information as announced.

VoiceOver Rotor support chart


Other tests


Technology details

OSX Catalina - 10.15.7

Windows 10 Enterprise:

Assistive Technologies