Accessibility digest

Synopsis
PageHesperian Health Guides
URLhttps://hesperian.org/
Requesterpool@jpdev.pro
Test date2023/11/18
Score1851
Tested byTestaro, procedure ts37a
Scored byTestilo, procedure tsp38
Digested byTestilo, procedure tdp38
Derived fromFull report

Introduction

How accessible is the Hesperian Health Guides web page at https://hesperian.org/?

This digest can help answer that question. Nine different tools (Alfa, ASLint, Axe, Equal Access, HTML CodeSniffer, Nu Html Checker, QualWeb, Testaro, and WAVE) tested the page to check its compliance with their accessibility rules. In all, the tools define about 915 rules, which are classified here into about 300 accessibility issues.

The results were interpreted to yield a score, with 0 being ideal. The score for this page was 1851, the sum of 540 for the count of issues, 1055 for specific issues, 210 for tool-by-tool ratings, 0 for the page preventing tools from running, 46 for browser warnings, and 0 for delayed page responses.

Issue summary

Summary of issues
IssueWCAGScoreTools reporting the issue
page language missing3.1.1124ibm
text contrast poor1.4.3116alfa, axe, qualWeb, wave
focus indication poor2.4.7112alfa, testaro
target small2.5.596testaro
link not named2.4.464alfa, aslint, axe, htmlcs, ibm, qualWeb, wave
main missing1.3.662axe
text contrast improvable1.4.653alfa, aslint, htmlcs, qualWeb
links named identically2.4.446aslint, qualWeb, testaro
content beyond landmarks1.3.633alfa, axe, ibm
title attribute invalid1.3.132testaro
link indication poor1.3.328aslint, testaro
line height low1.4.824alfa, testaro
text contrast issues not testable1.4.320htmlcs
attribute obsolete4.118aslint, htmlcs, nuVal
asides not distinctly named1.3.618ibm
image dubiously named1.1.117aslint, qualWeb
nav links not list1.3.112htmlcs, qualWeb
type redundant1.3.112nuVal
z-index not zero1.410testaro
tab-opening link action possibly unstated3.2.59aslint, htmlcs, testaro
landmarks not distinctly named1.3.69axe, ibm
code obsolete4.19ibm, nuVal
ID not unique4.1.18alfa, aslint, htmlcs, nuVal, qualWeb
skip method possibly missing or invalid2.4.18alfa
link element invalid1.3.18htmlcs
parent invalid1.3.18nuVal
color missing1.4.38qualWeb
decorative element has title1.3.16aslint, wave
aside child of landmark1.3.66axe
role invalid4.1.26ibm
complementary not named1.3.66ibm
overflow possibly hidden1.4.46qualWeb
focusable element not active4.1.26qualWeb
iframe not named4.1.24alfa, aslint, axe, htmlcs, ibm, qualWeb
control not named4.1.24alfa, axe, htmlcs, ibm, qualWeb, wave
heading structure illogical1.3.14aslint, htmlcs
input not named4.1.24htmlcs
no role-required name4.1.24ibm
attribute invalid1.3.14nuVal
error reference invalid3.3.14qualWeb
image button not named1.1.14qualWeb
inconsistent heading, link, or button styles3.2.44testaro
event possibly not keyboard-triggerable2.1.13htmlcs, qualWeb, wave
role redundant4.1.23testaro
heading level skipped1.3.12alfa, axe, wave
line height absolute1.4.122alfa
labeling risky3.3.22aslint
semantic properties represented with styles1.3.12htmlcs
links dubiously share name2.4.41axe
position sticky1.4.101htmlcs
hovering changes content3.2.51testaro
link to non-web resource1.3.31wave
underlining dubious1.3.11wave
all-capital text3.1.50aslint, testaro

Itemized issues

The reported rule violations are itemized below, issue by issue. Additional details can be inspected in the full report.

Issue: page language missing

Impact: Speaking helper may mispronounce the document text

WCAG: 3.1.1

Score: 124

Violations of ibm rules

Rule html_lang_exists

Description: Page detected as HTML, but has no lang attribute

Count of instances: 1

Issue: text contrast poor

Impact: Text is difficult to read

WCAG: 1.4.3

Score: 116

Violations of alfa rules

Rule r69

Description: Text outside widget has subminimum contrast

Count of instances: 29

Violations of axe rules

Rule color-contrast

Description: Element has insufficient color contrast

Count of instances: 22

Violations of qualWeb rules

Rule QW-ACT-R37

Description: Text has less than the minimum contrast

Count of instances: 21

Violations of wave rules

Rule contrast

Description: Very low contrast

Count of instances: 6

Issue: focus indication poor

Impact: Keyboard-only user cannot choose an item to operate

WCAG: 2.4.7

Score: 112

Violations of alfa rules

Rule r65

Description: Element in the sequential focus order has no visible focus

Count of instances: 1

Violations of testaro rules

Rule focInd

Description: Focused element displays a nonstandard or no focus indicator

Count of instances: 28

Issue: target small

Impact: User cannot reliably choose an item to click or tap

WCAG: 2.5.5

Score: 96

Violations of testaro rules

Rule targetSize

Description: Button, input, or non-inline link is smaller than 44 px wide and high

Count of instances: 32

Issue: link not named

Impact: User cannot get help understanding what a link points to

WCAG: 2.4.4

Score: 64

Violations of alfa rules

Rule r11

Description: Link has no accessible name

Count of instances: 3

Violations of aslint rules

Rule empty_link_element

Description: Element has no visible and accessible name

Count of instances: 9

Rule img_empty_alt_in_link

Description: Element is an image in a link but has no text alternative

Count of instances: 7

Violations of axe rules

Rule link-name

Description: Link has no discernible text

Count of instances: 9

Violations of htmlcs rules

Rule AAA.1_1_1.H30.2

Description: img element is the only link content but has no text alternative

Count of instances: 7

Rule AAA.4_1_2.H91.A.NoContent

Description: Link has an href attribute but not named

Count of instances: 2

Violations of ibm rules

Rule a_text_purpose

Description: Hyperlink has no link text, label, or image with a text alternative

Count of instances: 9

Violations of qualWeb rules

Rule QW-ACT-R12

Description: Link has no accessible name

Count of instances: 9

Rule QW-WCAG-T21

Description: Accessible name is not provided for an image which is the only content in a link

Count of instances: 7

Violations of wave rules

Rule alt_link_missing

Description: Linked image has no text alternative

Count of instances: 1

Rule link_empty

Description: Link contains not named

Count of instances: 2

Issue: main missing

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 62

Violations of axe rules

Rule landmark-one-main

Description: page has no main landmark

Count of instances: 1

Issue: text contrast improvable

Impact: Text is difficult to read

WCAG: 1.4.6

Score: 53

Violations of alfa rules

Rule r66

Description: Text contrast less than AAA requires

Count of instances: 29

Violations of aslint rules

Rule color_contrast_aaa

Description: Text contrast may be less than enhanced but the element is invisible

Count of instances: 53

Violations of htmlcs rules

Rule AAA.1_4_6.G17.Fail

Description: Text has insufficient contrast

Count of instances: 1

Violations of qualWeb rules

Rule QW-ACT-R76

Description: Text has less than the enhanced minimum contrast

Count of instances: 21

Issue: links named identically

Impact: User cannot get help differentiating links

WCAG: 2.4.4

Score: 46

Violations of aslint rules

Rule links_same_content_different_url

Description: Links with the same text content have different destination URLs

Count of instances: 23

Violations of qualWeb rules

Rule QW-ACT-R9

Description: Links with identical accessible names have different purposes

Count of instances: 2

Violations of testaro rules

Rule linkAmb

Description: Links with the same text content have different destinations

Count of instances: 1

Issue: content beyond landmarks

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 33

Violations of alfa rules

Rule r57

Description: Perceivable text content is not included in any landmark

Count of instances: 33

Violations of axe rules

Rule region

Description: Some page content is not contained by landmarks

Count of instances: 21

Violations of ibm rules

Rule aria_content_in_landmark

Description: Content is not within a landmark element

Count of instances: 15

Issue: title attribute invalid

Impact: User cannot hover to get help explaining an item

WCAG: 1.3.1

Score: 32

Violations of testaro rules

Rule titledEl

Description: title attribute belongs to an inappropriate element

Count of instances: 8

Issue: link indication poor

Impact: User cannot differentiate a link from plain text

WCAG: 1.3.3

Score: 28

Violations of aslint rules

Rule links_not_visually_evident_without_color_vision

Description: Element is a link, but its style properties do not differentiate it from its parent

Count of instances: 1

Violations of testaro rules

Rule linkUl

Description: Inline links are not underlined

Count of instances: 14

Issue: line height low

Impact: Text is difficult to read

WCAG: 1.4.8

Score: 24

Violations of alfa rules

Rule r73

Description: Text line height is not at least 1.5

Count of instances: 3

Violations of testaro rules

Rule lineHeight

Description: Text has a line height less than 1.5 times its font size

Count of instances: 12

Issue: text contrast issues not testable

Impact: Text may be difficult to read

WCAG: 1.4.3

Score: 20

Violations of htmlcs rules

Rule AAA.1_4_6.G17.Abs

Description: Contrast between the absolutely positioned text and its background may be less than 7:1

Count of instances: 1

Rule AAA.1_4_6.G17.BgImage

Description: Contrast between the text and its background image may be less than 7:1

Count of instances: 15

Rule AAA.1_4_6.G18.BgImage

Description: Contrast between the text and the background image may be less than 4.5:1

Count of instances: 4

Issue: attribute obsolete

Impact: Document includes obsolete code that the browser may fail to process

WCAG: 4.1

Score: 18

Violations of aslint rules

Rule obsolete_html_attributes

Description: Element has an obsolete attribute

Count of instances: 3

Violations of htmlcs rules

Rule AAA.1_3_1.H49.AlignAttr

Description: align attribute is obsolete

Count of instances: 1

Violations of nuVal rules

Rule ^The .+ attribute on the .+ element is obsolete.+$

Description: Attribute is obsolete on its element

Count of instances: 6

Issue: asides not distinctly named

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 18

Violations of ibm rules

Rule aria_complementary_label_unique

Description: Multiple elements with a complementary role have no unique labels

Count of instances: 6

Issue: image dubiously named

Impact: Helper may describe an image inadequately

WCAG: 1.1.1

Score: 17

Violations of aslint rules

Rule general_alt

Description: Image may be better described by a revised text alternative and an aria-label attribute

Count of instances: 1

Violations of qualWeb rules

Rule QW-WCAG-T8

Description: Text alternative is not an alternative

Count of instances: 17

Issue: nav links not list

Impact: User cannot get help recognizing a list of navigation links

WCAG: 1.3.1

Score: 12

Violations of htmlcs rules

Rule AAA.1_3_1.H48

Description: Navigation links are not coded as a list

Count of instances: 6

Violations of qualWeb rules

Rule QW-WCAG-T32

Description: ol, ul or dl is not used for a list or group of links

Count of instances: 5

Issue: type redundant

Impact: Document includes unnecessary code

WCAG: 1.3.1

Score: 12

Violations of nuVal rules

Rule The type attribute is unnecessary for JavaScript resources.

Description: type attribute is unnecessary for a JavaScript resource

Count of instances: 12

Issue: z-index not zero

Impact: User cannot predict the effect of clicking

WCAG: 1.4

Score: 10

Violations of testaro rules

Rule zIndex

Description: Element has a nondefault z-index value

Count of instances: 10

Issue: tab-opening link action possibly unstated

Impact: Following a link opens a new window, possibly surprising a user

WCAG: 3.2.5

Score: 9

Violations of aslint rules

Rule links_new_window_mark

Description: Indicator that the link opens a new window or tab may be missing

Count of instances: 9

Violations of htmlcs rules

Rule AAA.3_2_5.H83.3

Description: Link text may fail to indicate that the link will open in a new window

Count of instances: 9

Violations of testaro rules

Rule linkExt

Description: Link opens a new window or tab

Count of instances: 9

Issue: landmarks not distinctly named

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 9

Violations of axe rules

Rule landmark-unique

Description: Landmark has a role and an accessible name that are identical to another

Count of instances: 1

Violations of ibm rules

Rule aria_landmark_name_unique

Description: Multiple landmarks with the same parent region are not distinguished from one another

Count of instances: 3

Issue: code obsolete

Impact: Document contains code that is no longer standard

WCAG: 4.1

Score: 9

Violations of ibm rules

Rule element_attribute_deprecated

Description: Element or attribute is obsolete

Count of instances: 3

Violations of nuVal rules

Rule Obsolete doctype. Expected .

Description: DOCTYPE is obsolete instead of html

Count of instances: 1

Issue: ID not unique

Impact: User may be pointed to the wrong item

WCAG: 4.1.1

Score: 8

Violations of alfa rules

Rule r3

Description: Element id attribute value is not unique

Count of instances: 2

Violations of aslint rules

Rule duplicated_id_attribute

Description: Element id attribute value is not unique

Count of instances: 2

Violations of htmlcs rules

Rule AAA.4_1_1.F77

Description: Duplicate id attribute value

Count of instances: 1

Violations of nuVal rules

Rule ^Duplicate ID .+$|^The first occurrence of ID .* was here.*$

Description: Duplicate id

Count of instances: 2

Violations of qualWeb rules

Rule QW-ACT-R18

Description: id attribute value is not unique

Count of instances: 2

Issue: skip method possibly missing or invalid

Impact: Keyboard-only user may be unable easily to reach the specific content of the document

WCAG: 2.4.1

Score: 8

Violations of alfa rules

Rule r87

Description: First focusable element is not a link to the main content

Count of instances: 1

Issue: link element invalid

Impact: Document fails to get a needed external resource

WCAG: 1.3.1

Score: 8

Violations of htmlcs rules

Rule AAA.2_4_8.H59.1

Description: Element is not in the document head

Count of instances: 2

Issue: parent invalid

Impact: User cannot properly operate an item

WCAG: 1.3.1

Score: 8

Violations of nuVal rules

Rule ^Element .+ not allowed as child of element .+ in this context.*$

Description: Element has an invalid parent

Count of instances: 2

Issue: color missing

Impact: Content is impossible to perceive under some conditions

WCAG: 1.4.3

Score: 8

Violations of qualWeb rules

Rule QW-WCAG-T31

Description: Foreground or background color is specified but not both

Count of instances: 2

Issue: decorative element has title

Impact: Hovering-produced information is denied to a keyboard-only user

WCAG: 1.3.1

Score: 6

Violations of aslint rules

Rule img_empty_alt_with_empty_title

Description: Element has an empty alt attribute but a nonempty title attribute

Count of instances: 6

Violations of wave rules

Rule image_title

Description: Image has a title attribute value but no alt value

Count of instances: 6

Issue: aside child of landmark

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 6

Violations of axe rules

Rule landmark-complementary-is-top-level

Description: complementary landmark (aside) is contained in another landmark

Count of instances: 3

Issue: role invalid

Impact: User cannot get help on the nature of an item

WCAG: 4.1.2

Score: 6

Violations of ibm rules

Rule aria_eventhandler_role_valid

Description: Element with an onclick, onmouseout, or onmouseover attribute has no valid ARIA role

Count of instances: 2

Issue: complementary not named

Impact: User cannot get help on how some of the document is organized

WCAG: 1.3.6

Score: 6

Violations of ibm rules

Rule aria_complementary_labelled

Description: Element with a complementary role has no label

Count of instances: 6

Issue: overflow possibly hidden

Impact: User may be unable to enlarge the text for readability

WCAG: 1.4.4

Score: 6

Violations of qualWeb rules

Rule QW-ACT-R40

Description: Zoomed text node may be clipped by a CSS overflow declaration

Count of instances: 6

Issue: focusable element not active

Impact: Keyboard-only user cannot navigate properly to the operable items

WCAG: 4.1.2

Score: 6

Violations of qualWeb rules

Rule QW-WCAG-T26

Description: Script makes a div or span a user interface control without providing a role for the control

Count of instances: 2

Issue: iframe not named

Impact: User cannot get help on the topic of an embedded document

WCAG: 4.1.2

Score: 4

Violations of alfa rules

Rule r13

Description: iframe has no accessible name

Count of instances: 1

Violations of aslint rules

Rule title_iframe

Description: Element is an iframe or object but its title attribute is missing or empty

Count of instances: 1

Violations of axe rules

Rule frame-title

Description: Frame has no accessible name

Count of instances: 1

Violations of htmlcs rules

Rule AAA.2_4_1.H64.1

Description: iframe element has no non-empty title attribute

Count of instances: 1

Violations of ibm rules

Rule frame_title_exists

Description: Inline frame has no title attribute

Count of instances: 1

Violations of qualWeb rules

Rule QW-ACT-R19

Description: iframe element has no accessible name

Count of instances: 1

Issue: control not named

Impact: User cannot get help on how to operate a form item

WCAG: 4.1.2

Score: 4

Violations of alfa rules

Rule r8

Description: Form field has no accessible name

Count of instances: 1

Violations of axe rules

Rule label

Description: Form element has no label

Count of instances: 1

Violations of htmlcs rules

Rule AAA.1_3_1.F68

Description: Form control has no label

Count of instances: 1

Violations of ibm rules

Rule input_label_exists

Description: Element with the role of a form control has no associated label

Count of instances: 1

Violations of qualWeb rules

Rule QW-ACT-R16

Description: Form control has no accessible name

Count of instances: 1

Violations of wave rules

Rule label_missing

Description: form element has no label

Count of instances: 1

Issue: heading structure illogical

Impact: Helper misdescribes the document

WCAG: 1.3.1

Score: 4

Violations of aslint rules

Rule headings_hierarchy

Description: Heading level is illogical in its context

Count of instances: 2

Violations of htmlcs rules

Rule AAA.1_3_1_AAA.G141

Description: Heading level is incorrect

Count of instances: 1

Issue: input not named

Impact: User cannot get help on what information to enter in a form item

WCAG: 4.1.2

Score: 4

Violations of htmlcs rules

Rule AAA.4_1_2.H91.InputText.Name

Description: Text input has no accessible name

Count of instances: 1

Issue: no role-required name

Impact: User cannot get help understanding an item

WCAG: 4.1.2

Score: 4

Violations of ibm rules

Rule aria_accessiblename_exists

Description: Element has no accessible name, although its role requires one

Count of instances: 1

Issue: attribute invalid

Impact: Item behaves improperly

WCAG: 1.3.1

Score: 4

Violations of nuVal rules

Rule ^Attribute .+ not allowed on element .+ at this point.*$

Description: Attribute not allowed on this element

Count of instances: 1

Issue: error reference invalid

Impact: User cannot correct a form error

WCAG: 3.3.1

Score: 4

Violations of qualWeb rules

Rule QW-ACT-R41

Description: Error message describes no invalid form field value

Count of instances: 1

Issue: image button not named

Impact: User cannot get help understanding an image used as a button

WCAG: 1.1.1

Score: 4

Violations of qualWeb rules

Rule QW-WCAG-T5

Description: alt attribute not used on an image used as a submit button

Count of instances: 1

Issue: inconsistent heading, link, or button styles

Impact: User cannot easily distinguish items of different types

WCAG: 3.2.4

Score: 4

Violations of testaro rules

Rule styleDiff

Description: Heading, link, and button style inconsistencies

Count of instances: 4

Issue: event possibly not keyboard-triggerable

Impact: Keyboard-only user may be unable to perform an action

WCAG: 2.1.1

Score: 3

Violations of htmlcs rules

Rule AAA.2_1_1.G90

Description: Event handler functionality may not be available by keyboard

Count of instances: 2

Violations of qualWeb rules

Rule QW-WCAG-T6

Description: Both keyboard and other device-specific functions are not used

Count of instances: 2

Violations of wave rules

Rule event_handler

Description: Device-dependent event handler

Count of instances: 3

Issue: role redundant

Impact: Document includes unnecessary code

WCAG: 4.1.2

Score: 3

Violations of testaro rules

Rule role

Description: Invalid, native-replacing, or redundant role

Count of instances: 3

Issue: heading level skipped

Impact: Helper misdescribes the document

WCAG: 1.3.1

Score: 2

Violations of alfa rules

Rule r53

Description: Heading skips one or more levels

Count of instances: 1

Violations of axe rules

Rule heading-order

Description: Heading levels do not increase by only one

Count of instances: 1

Violations of wave rules

Rule heading_skipped

Description: Skipped heading level

Count of instances: 1

Issue: line height absolute

Impact: User cannot adjust the line height of text for readability

WCAG: 1.4.12

Score: 2

Violations of alfa rules

Rule r80

Description: Paragraph text has an absolute line height

Count of instances: 1

Issue: labeling risky

Impact: User may misunderstand a form control

WCAG: 3.3.2

Score: 2

Violations of aslint rules

Rule missing_labelN

Description: Element has an id attribute but no explicit label references it

Count of instances: 2

Issue: semantic properties represented with styles

Impact: User cannot get help to fully understand the text

WCAG: 1.3.1

Score: 2

Violations of htmlcs rules

Rule AAA.1_3_1.H49.B

Description: Special text is bolded nonsemantically

Count of instances: 1

Issue: links dubiously share name

Impact: User may be unable to get help differentiating links

WCAG: 2.4.4

Score: 1

Violations of axe rules

Rule identical-links-same-purpose

Description: Links with the same accessible name may serve dissimilar purposes

Count of instances: 1

Issue: position sticky

Impact: User may be unable to see needed content or may be forced to scroll in both dimensions

WCAG: 1.4.10

Score: 1

Violations of htmlcs rules

Rule AAA.1_4_10.C32,C31,C33,C38,SCR34,G206

Description: Fixed-position element may force bidirectional scrolling

Count of instances: 1

Issue: hovering changes content

Impact: User cannot explore the document reliably with a mouse

WCAG: 3.2.5

Score: 1

Violations of testaro rules

Rule hover

Description: Hovering changes the page content

Count of instances: 1

Issue: link to non-web resource

Impact: Document points to harder-to-use resources

WCAG: 1.3.3

Score: 1

Violations of wave rules

Rule link_pdf

Description: Link to PDF document

Count of instances: 1

Issue: underlining dubious

Impact: User may be misled into believing some text is a link

WCAG: 1.3.1

Score: 1

Violations of wave rules

Rule underline

Description: CSS underline on text that is not a link

Count of instances: 1

Issue: all-capital text

Impact: Text is difficult to read

WCAG: 3.1.5

Score: 0

Violations of aslint rules

Rule capital_letters_words

Description: Element or its title has entirely upper-case words

Count of instances: 8

Violations of testaro rules

Rule allCaps

Description: Element has a text substring of at least 8 upper-case characters

Count of instances: 2