Failure of Success Criterion 4.1.2 due to not providing names for each part of a multi-part form field, such as a US telephone number

Important Information about Techniques

See Understanding Techniques for WCAG Success Criteria for important information about the usage of these informative techniques and how they relate to the normative WCAG 2.1 success criteria. The Applicability section explains the scope of the technique, and the presence of techniques for a specific technology does not imply that the technology can be used in all situations to create content that meets WCAG 2.1.

Applicability

General

This technique relates to Success Criterion 4.1.2: Name, Role, Value (Failure).

Description

This describes a failure condition of Success Criterion 4.1.2 where some or all of the parts of multi-part form field do not have names. Often there is a label for the multi-part field, which is either programatically associated with the first part, or not programatically associated with any parts.

Note

A name does not necessarily have to be visible, but is visible to assistive technologies.

Examples

Example 1

A US telephone number consists of a 3-digit area code, a 3-digit prefix, and a 4-digit suffix. They are typically formatted as follows ([area code]) [prefix]-[suffix], such as (206) 555-1212. Often, forms asking for a telephone number will include 3 separate fields, but with a single label, such as:

Phone number: 
(<input type="text" size="3">) <input type="text" size="3">-<input type="text" size="4">

The failure occurs when there is not a name for each of the 3 fields in the Accessibility API. A user with assistive technology will experience these as three undefined text fields. Some assistive technologies will read the punctuation as identification for the text fields, which can be even more confusing. In the case of a 3-field US phone number, some assistive technologies would name the fields "(", ")" and "-", which is not very useful.

Example 2

The same US telephone number. In this case, the label is not programatically associated with any of the parts.

Phone number: (<input type="text" size="3">) <input type="text" size="3">-<input type="text" size="4">

A user with assistive technology will experience these as three undefined text fields.

Example 3

The same US telephone number. In this case, the label is programatically associated with the first part.

<label for="area">Phone number:</label> 
(<input id="area" type="text" size="3">) <input type="text" size="3">-<input type="text" size="4">

A user with assistive technology will be led to believe that the first field is for the entire phone number, and will experience the second and third fields as undefined text fields.

Resources

Resources are for information purposes only, no endorsement implied.

Tests

Procedure

For each subfield in the multi-part form field:

  1. Check that there is a programmatically determined name for the field.

Expected Results

  • If check #1 is false for any subfield, then the failure condition applies and the content fails the success criterion.