UI Accessibility Checker Web Plug-in

Contents

Web Verification Log Messages

Web – Check Html

Error - HeaderMissing

Warning - TableShouldHaveHeader

Error - TableShouldNotHaveHeader

Error - TableHasNoName

Error - TableShouldNotHaveName

Error - FrameHasNoName

Error - HeaderAndTitleShouldMatch

Error - LackOfHeaders

Web – Check Role

Error - InvalidRole

Error - ControlShouldHaveValue

Web – Check Name

Error - ElementHasNoName

Error - ElementHasNoNameLabel

Warning - ElementHasEmptyStringAsName

Error - RepeatLinkNameWithDifferentValue

Error - AccNameLengthTooLong

Error - AccNameContainsInvalidString

Warning - AccNameShouldNotContainRole

Miscellaneous Errors

Error - UnexpectedTestError

Error - MemberNotImplememented

# Web Verification Log Messages

## Web – Check Html

### Error - HeaderMissing

#### There is no < h1> present, there should be at least one.

This error indicates that the document does not contain an h1.

### Warning - TableShouldHaveHeader

#### Table has no headers, are you missing column headers?

This warning indicates that a table, if it is a data table, should use < th> tags instead of < td> in the first row.

Note: This is an issue for people who rely on a screen-reader because they will be unable to determine which column a particular table cell belongs to when navigating though the table cells.

Possible causes for this warning:

1. The table has more than one row but has at least one 'td' instead of 'th' in the first row.

### Warning - TableShouldNotHaveHeader

#### Table has headers but shouldn't (table has less than 2 rows).

This warning indicates that a table appears to be a layout table, and therefore should use not < th> tags in the first row.

Note: This is an issue for people who rely on a screen-reader because the table will be interpreted as a data table.

Possible causes for this warning:

1. The table has only one row and has at least one 'th' in the first row.

### Warning - TableHasNoName

#### Table has no name, are you missing a caption?

This warning indicates that a table, if it is a data table, should have a caption.

Note: This is an issue for people who rely on a screen-reader because the screen reader uses the caption to identify a table to the user. Without a caption, the screen-reader cannot identify the table.

Possible causes for this warning:

1. The table has more than one row and has no caption.

### Warning - TableShouldNotHaveName

#### Table has name but shouldn't (table has less than 2 rows).

This warning indicates that a table appears to be a layout table, and therefore should not have a caption.

Note: This is an issue for people who rely on a screen-reader because the table will be interpreted as a data table.

Possible causes for this warning:

1. The table has only one row, but also has a caption.

### Warning - FrameHasNoName

#### Frame has no title tag defined in main page.

This warning indicates that the frame tag is missing the recommended title attribute.

Note: Even though AccChecker is not checking for it, the title attribute in the frame tag should match the title tag in the file being included in the frame.

Possible causes for this error:

1. Frame tag has no title attribute.

### Warning - HeaderAndTitleShouldMatch

#### The document title and first < h1> should match.

This warning indicates that the document's title and the first < h1> content don't match.

Possible causes for this error:

1. < title> content is not equal to first < h1> content.

### Warning - LackOfHeaders

#### There are too few headers. There should be one for every x characters.

This warning indicates there should be more headers in the document, due to the amount of content in it.

Note: The number of characters per header set is currently fixed to 800.

Possible causes for this error:

1. There are more than x characters per header on the page.

## Web – Check Role

### Error - InvalidRole

#### The int returned from get_accRole is not a valid role constant, ie ROLE_SYSTEM_*

This error indicates that an element is reporting an invalid Active Accessibility role. For example, the get_accRole method used to retrieve the Active Accessibility role of an element returns an integer value that does not map to a valid object role constant (such as ROLE_SYSTEM_LISTITEM).

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because elements may be incorrectly identified to the user.

Possible causes for this error:

1. The element, or its parent, has an Active Accessibility role set inappropriately.

Related Resources

IAccessible::get_accRole

Object Roles

### Error - ControlShouldHaveValue

#### A control with role of {0} should have a value but get_accValue is not implemented

This error indicates that an element does not supply an expected value based on the element’s assigned Active Accessibility role. This implies that the element does not have the get_accValue method implemented. The following Active Accessibility roles should all supply a value:

· ROLE_SYSTEM_COMBOBOX

· ROLE_SYSTEM_SLIDER

· ROLE_SYSTEM_LINK

· ROLE_SYSTEM_TEXT

· ROLE_SYSTEM_SPINBUTTON

· ROLE_SYSTEM_SCROLLBAR

· ROLE_SYSTEM_PROGRESSBAR

· ROLE_SYSTEM_OUTLINEITEM

· ROLE_SYSTEM_IPADDRESS

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because an element that has an intrinsic value must be able to report that value to a user.

Possible causes for this error:

1. The element, or its parent, has an Active Accessibility role set inappropriately.

Related Resources

IAccessible::get_accRole

Object Roles

## Web – Check Name

### Error - ElementHasNoName

#### Element has no name

This error indicates that an element does not have a name. For example, an image that is missing an alt tag.

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because the screen reader might incorrectly identify an element to the user. An image that serves a strictly decorative purpose shouldn't have a name. Use alt="" as the alt text.

Possible causes for this warning:

1. An image doesn't have an alt tag.

2. A link does not contain text or an element with a name.

3. The document doesn't have a title.

4. A button doesn't have a name.

### Error - ElementHasNoNameLabel

#### Element has no name, are you missing a label?

This error indicates that an element should have a label to provide its name, but doesn't have one.

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because the screen reader might incorrectly identify an element to the user.

Possible causes for this warning:

1. Radio button doesn't have a label.

2. Check button doesn't have a label.

3. Text field or similar doesn't have a name.

### Warning - ElementHasEmptyStringAsName

#### Element has empty string as name.

This warning indicates the element has "" as a name.

Note: This is not an issue, as long as the element serves only decorative purposes, as the screen reader user will be unaware of the existence of this element.

Possible causes for this warning:

1. An image has alt="".

2. Element has name set to empty string.

### Error - RepeatLinkNameWithDifferentValue

#### Link name has already been used with a different href.

This error indicates that multiple links have the same name, but they link to different destinations.

Note: This is an issue for people who rely on a screen-reader. Because the screen reader communicates the links to the user only by reading the names, theuser will assume that the links are the same.

Possible causes for this warning:

1. At least two links have same name, but different href values. The name of the link is determined from the text within the link. If there is no text, the link gets its name from the element name within it.

### Error - AccNameLengthTooLong

#### Element's accName should not return a string longer than {0} characters

· This error indicates that the name of an element contains too many characters. For example, the get_accName method used to retrieve the Active Accessibility name of an element returns a string greater than the limit of 32000 characters.

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because an element may have an unpronounceable, non-intuitive name.

Possible causes for this error:

1. The element, or its parent, has an incorrectly assigned name or label.

###

### Error - AccNameContainsInvalidString

#### accName should not contain the string {0}

· This error indicates that the name of an element contains invalid characters (these characters are replaced by AccChecker). For example, the get_accName method used to retrieve the Active Accessibility name of an element returns a string that contains tab, newline, or ampersand characters.

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because an element may have an unpronounceable, non-intuitive name.

Possible causes for this error:

1. The element, or its parent , has an incorrectly assigned name or label.

###

### Warning - AccNameShouldNotContainRole

#### accName ({0}) should not contain the text of the Role ({1})

· This error indicates that the name of an element incorporates its Active Accessibility role. For example, the get_accName method used to retrieve the Active Accessibility name of an element returns “ROLE_SYSTEM_SCROLLBAR_*”.

Note: This is an issue for people who rely on a screen-reader and keyboard for navigation because an element may have an unpronounceable, non-intuitive name.

Possible causes for this error:

1. The element, or its parent, has an incorrectly assigned name or label.

2. The element, or its parent, has a default name that has not been revised to a friendly name. For example, button1.

## Miscellaneous Errors

### Error - UnexpectedTestError

#### Exception :({0})

This error specifies that an exception unrelated to the verifications has been raised by AccChecker.

To report issues such as this, see the AccChecker 'About' dialog for contact information.

### Error - MemberNotImplememented

#### The method is not implemented on this particular element.

This error specifies that a method call has failed unexpectedly.