Accessibility digest

Synopsis
PageSanitation and Water for All
URLhttps://www.sanitationandwaterforall.org/
Requesterpool@jpdev.pro
Test date2023/11/23
Score3777
Tested byTestaro, procedure ts37a
Scored byTestilo, procedure tsp38
Digested byTestilo, procedure tdp38
Derived fromFull report

Introduction

How accessible is the Sanitation and Water for All web page at https://www.sanitationandwaterforall.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 3777, the sum of 750 for the count of issues, 2158 for specific issues, 658 for tool-by-tool ratings, 0 for the page preventing tools from running, 206 for browser warnings, and 5 for delayed page responses.

Issue summary

Summary of issues
IssueWCAGScoreTools reporting the issue
overflow possibly hidden1.4.4248qualWeb
text contrast improvable1.4.6170alfa, aslint, axe, htmlcs
text contrast poor1.4.3160alfa, axe, htmlcs, ibm, wave
element not focusable2.1.1126testaro
fatal error4.1124nuVal
image not named1.1.1108alfa, aslint, axe, htmlcs, ibm, qualWeb, wave
ID not unique4.1.188ibm
nav links not list1.3.170qualWeb
link not named2.4.468alfa, aslint, axe, htmlcs, ibm, qualWeb, wave
page content moves spontaneously2.2.262testaro
focus indication poor2.4.756alfa, testaro
links named identically2.4.450aslint, qualWeb, testaro
svg image not named1.1.148aslint
skip method missing or invalid2.4.148wave
target small2.5.545testaro
title attribute invalid1.3.140testaro
animation long or repetitive2.2.236aslint
large visible-element count2.431testaro
interactive component not named4.1.228ibm
tablist navigation nonstandard2.1.128testaro
font small1.421alfa, aslint, wave
link name dubious2.4.421aslint, wave
code obsolete4.121ibm
visible label not in name2.5.321ibm
descendant missing1.3.120alfa, axe, qualWeb
label reference invalid1.3.120aslint
role redundant4.1.220ibm, testaro
error reference invalid3.3.120qualWeb
link indication poor1.3.320testaro
aria reference invalid1.3.120wave
menu items missing1.3.120wave
role invalid4.1.218axe, ibm
inconsistent heading, link, or button styles3.2.418testaro
tab-opening link action possibly unstated3.2.517aslint, htmlcs, testaro
parent missing1.3.116alfa
internal link broken1.3.116aslint, htmlcs, wave
list item orphan1.3.116axe
image dubiously named1.1.116qualWeb
text contrast issues not testable1.4.314htmlcs
control label invisible2.4.612aslint
requirement invalid1.3.512aslint
text and image link not combined2.4.412qualWeb, wave
code invalid4.19nuVal
element closure invalid4.1.19nuVal
skip method possibly missing or invalid2.4.18alfa
button not named4.1.28aslint, htmlcs, qualWeb, wave
heading structure illogical1.3.16aslint, htmlcs
navigations not distinctly named1.3.66ibm
autocomplete missing1.3.56testaro
tabindex redundant1.3.15aslint
text distortion3.1.55testaro
title attribute redundant1.3.15testaro
z-index not zero1.45testaro
focusable element hidden4.1.24alfa, axe, ibm, qualWeb
region not named4.1.24alfa, ibm
line height low1.4.84alfa, testaro
attribute invalid1.3.14axe
aria attribute invalid4.1.24axe
position sticky1.4.104htmlcs
no role-required name4.1.24ibm
operable element not focusable2.1.14testaro
control not named4.1.24wave
landmarks not distinctly named1.3.63axe
content beyond landmarks1.3.63axe, ibm
heading-like styles dubious1.3.13htmlcs, wave
aria attribute redundant4.1.23ibm
element in head invalid4.1.13testaro
heading level skipped1.3.12alfa, axe, wave
link destination not URL1.3.12aslint
type redundant1.3.12nuVal
noscript element possibly not equivalent4.12wave
links dubiously share name2.4.41axe
void element has trailing slash4.11nuVal
false aria-hidden value risky2.4.60aslint
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: overflow possibly hidden

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

WCAG: 1.4.4

Score: 248

Violations of qualWeb rules

Rule QW-ACT-R40

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

Count of instances: 248

Issue: text contrast improvable

Impact: Text is difficult to read

WCAG: 1.4.6

Score: 170

Violations of alfa rules

Rule r66

Description: Text contrast less than AAA requires

Count of instances: 22

Violations of aslint rules

Rule color_contrast_aaa7

Description: Text has contrast less than 7:1

Count of instances: 46

Rule color_contrast_aaa

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

Count of instances: 112

Rule color_contrast_aaa4

Description: Text has contrast less than 4.5:1

Count of instances: 12

Violations of axe rules

Rule color-contrast-enhanced

Description: Element has insufficient color contrast (Level AAA)

Count of instances: 2

Violations of htmlcs rules

Rule AAA.1_4_6.G17.Fail

Description: Text has insufficient contrast

Count of instances: 37

Issue: text contrast poor

Impact: Text is difficult to read

WCAG: 1.4.3

Score: 160

Violations of alfa rules

Rule r69

Description: Text outside widget has subminimum contrast

Count of instances: 21

Violations of axe rules

Rule color-contrast

Description: Element has insufficient color contrast

Count of instances: 3

Violations of htmlcs rules

Rule AAA.1_4_6.G18.Fail

Description: Contrast between the text and its background is less than 4.5:1

Count of instances: 7

Violations of ibm rules

Rule text_contrast_sufficient

Description: Text has a contrast with its background less than the WCAG AA minimum for its size and weight

Count of instances: 29

Violations of wave rules

Rule contrast

Description: Very low contrast

Count of instances: 40

Issue: element not focusable

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

WCAG: 2.1.1

Score: 126

Violations of testaro rules

Rule focAll

Description: Discrepancy between elements that should be and that are Tab-focusable

Count of instances: 63

Issue: fatal error

Impact: Document prevents testing for accessibility

WCAG: 4.1

Score: 124

Violations of nuVal rules

Rule Cannot recover after last error. Any further errors will be ignored.

Description: Testing was interrupted by a fatal error

Count of instances: 1

Issue: image not named

Impact: User cannot get help to know what is in an image

WCAG: 1.1.1

Score: 108

Violations of alfa rules

Rule r2

Description: Image has no accessible name

Count of instances: 18

Violations of aslint rules

Rule missing_alt_attribute

Description: Image has no alt attribute

Count of instances: 27

Violations of axe rules

Rule image-alt

Description: Image has no text alternative

Count of instances: 18

Violations of htmlcs rules

Rule AAA.1_1_1.H37

Description: img element has no alt attribute

Count of instances: 8

Violations of ibm rules

Rule img_alt_valid

Description: Image has neither an alt attribute nor an ARIA label or title

Count of instances: 18

Violations of qualWeb rules

Rule QW-ACT-R17

Description: Image has no accessible name

Count of instances: 18

Violations of wave rules

Rule alt_missing

Description: Text alternative is missing

Count of instances: 19

Issue: ID not unique

Impact: User may be pointed to the wrong item

WCAG: 4.1.1

Score: 88

Violations of ibm rules

Rule element_id_unique

Description: Element has an id attribute value that is already in use

Count of instances: 22

Issue: nav links not list

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

WCAG: 1.3.1

Score: 70

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: 35

Issue: link not named

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

WCAG: 2.4.4

Score: 68

Violations of alfa rules

Rule r11

Description: Link has no accessible name

Count of instances: 9

Violations of aslint rules

Rule empty_link_element

Description: Element has no visible and accessible name

Count of instances: 15

Violations of axe rules

Rule link-name

Description: Link has no discernible text

Count of instances: 14

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: 9

Rule AAA.4_1_2.H91.A.NoContent

Description: Link has an href attribute but not named

Count of instances: 1

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: 8

Violations of wave rules

Rule alt_link_missing

Description: Linked image has no text alternative

Count of instances: 8

Issue: page content moves spontaneously

Impact: Motion-sensitive user may suffer harm

WCAG: 2.2.2

Score: 62

Violations of testaro rules

Rule motion

Description: Change of visible content not requested by user

Count of instances: 1

Issue: focus indication poor

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

WCAG: 2.4.7

Score: 56

Violations of alfa rules

Rule r65

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

Count of instances: 14

Violations of testaro rules

Rule focInd

Description: Focused element displays a nonstandard or no focus indicator

Count of instances: 5

Issue: links named identically

Impact: User cannot get help differentiating links

WCAG: 2.4.4

Score: 50

Violations of aslint rules

Rule links_same_content_different_url

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

Count of instances: 25

Violations of qualWeb rules

Rule QW-ACT-R9

Description: Links with identical accessible names have different purposes

Count of instances: 13

Rule QW-ACT-R44

Description: Links with identical accessible names and context serve different purposes

Count of instances: 10

Violations of testaro rules

Rule linkAmb

Description: Links with the same text content have different destinations

Count of instances: 21

Issue: svg image not named

Impact: User cannot get help understanding an image

WCAG: 1.1.1

Score: 48

Violations of aslint rules

Rule accessible_svg

Description: Element has no title, description, text, attribute label, or role description

Count of instances: 12

Issue: skip method missing or invalid

Impact: Keyboard-only user cannot easily reach the specific content of the document

WCAG: 2.4.1

Score: 48

Violations of wave rules

Rule link_skip_broken

Description: Skip-navigation link has no target or is not keyboard accessible

Count of instances: 1

Issue: target small

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

WCAG: 2.5.5

Score: 45

Violations of testaro rules

Rule targetSize

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

Count of instances: 15

Issue: title attribute invalid

Impact: User cannot hover to get help explaining an item

WCAG: 1.3.1

Score: 40

Violations of testaro rules

Rule titledEl

Description: title attribute belongs to an inappropriate element

Count of instances: 10

Issue: animation long or repetitive

Impact: Motion-sensitive user may suffer harm

WCAG: 2.2.2

Score: 36

Violations of aslint rules

Rule animationI

Description: Animation is repetitive

Count of instances: 12

Issue: large visible-element count

Impact: User cannot easily find items in the document

WCAG: 2.4

Score: 31

Violations of testaro rules

Rule bulk

Description: Page contains many visible elements

Count of instances: 1

Issue: interactive component not named

Impact: User cannot get help understanding a custom item

WCAG: 4.1.2

Score: 28

Violations of ibm rules

Rule aria_widget_labelled

Description: Interactive component has no programmatically associated name

Count of instances: 7

Issue: tablist navigation nonstandard

Impact: Tablist items behave improperly for a keyboard-only user

WCAG: 2.1.1

Score: 28

Violations of testaro rules

Rule tabNav

Description: Nonstandard keyboard navigation among tabs

Count of instances: 14

Issue: font small

Impact: Text is difficult to read

WCAG: 1.4

Score: 21

Violations of alfa rules

Rule r75

Description: Font size is smaller than 9 pixels

Count of instances: 1

Violations of aslint rules

Rule minimum_font_size

Description: Font size is smaller than 10 pixels

Count of instances: 7

Violations of wave rules

Rule text_small

Description: Text is very small

Count of instances: 2

Issue: link name dubious

Impact: User may misunderstand what a link points to

WCAG: 2.4.4

Score: 21

Violations of aslint rules

Rule link_with_unclear_purpose

Description: Element is a link but has vague or generic content

Count of instances: 21

Violations of wave rules

Rule link_suspicious

Description: Suspicious link text

Count of instances: 20

Issue: code obsolete

Impact: Document contains code that is no longer standard

WCAG: 4.1

Score: 21

Violations of ibm rules

Rule element_attribute_deprecated

Description: Element or attribute is obsolete

Count of instances: 7

Issue: visible label not in name

Impact: User cannot get help choosing a form control to operate

WCAG: 2.5.3

Score: 21

Violations of ibm rules

Rule label_name_visible

Description: Accessible name does not match or contain the visible label text

Count of instances: 7

Issue: descendant missing

Impact: Keyboard-only user cannot operate a custom tool

WCAG: 1.3.1

Score: 20

Violations of alfa rules

Rule r68

Description: Element does not own an element required by its semantic role

Count of instances: 2

Violations of axe rules

Rule aria-required-children

Description: ARIA role does not contain a required child

Count of instances: 2

Violations of qualWeb rules

Rule QW-ACT-R38

Description: Element has no ARIA required owned element

Count of instances: 5

Issue: label reference invalid

Impact: User cannot get help understanding an item in a form

WCAG: 1.3.1

Score: 20

Violations of aslint rules

Rule aria_labelledby_associationN

Description: Element referenced by the aria-labelledby attribute is missing

Count of instances: 5

Issue: role redundant

Impact: Document includes unnecessary code

WCAG: 4.1.2

Score: 20

Violations of ibm rules

Rule aria_role_redundant

Description: Explicitly assigned ARIA role is redundant with the implicit role of the element

Count of instances: 1

Violations of testaro rules

Rule role

Description: Invalid, native-replacing, or redundant role

Count of instances: 20

Issue: error reference invalid

Impact: User cannot correct a form error

WCAG: 3.3.1

Score: 20

Violations of qualWeb rules

Rule QW-ACT-R41

Description: Error message describes no invalid form field value

Count of instances: 5

Issue: link indication poor

Impact: User cannot differentiate a link from plain text

WCAG: 1.3.3

Score: 20

Violations of testaro rules

Rule linkUl

Description: Inline links are not underlined

Count of instances: 10

Issue: aria reference invalid

Impact: Item behavior violates user expectations

WCAG: 1.3.1

Score: 20

Violations of wave rules

Rule aria_reference_broken

Description: Broken ARIA reference

Count of instances: 5

Issue: menu items missing

Impact: User cannot reach promised menu items

WCAG: 1.3.1

Score: 20

Violations of wave rules

Rule aria_menu_broken

Description: ARIA menu does not contain required menu items

Count of instances: 5

Issue: role invalid

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

WCAG: 4.1.2

Score: 18

Violations of axe rules

Rule aria-allowed-role

Description: ARIA role is not appropriate for the element

Count of instances: 5

Violations of ibm rules

Rule aria_child_valid

Description: Child element has a role not allowed for the role of the parent

Count of instances: 1

Rule aria_role_valid

Description: ARIA role is not valid for its element

Count of instances: 5

Issue: inconsistent heading, link, or button styles

Impact: User cannot easily distinguish items of different types

WCAG: 3.2.4

Score: 18

Violations of testaro rules

Rule styleDiff

Description: Heading, link, and button style inconsistencies

Count of instances: 18

Issue: tab-opening link action possibly unstated

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

WCAG: 3.2.5

Score: 17

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: 17

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: 17

Violations of testaro rules

Rule linkExt

Description: Link opens a new window or tab

Count of instances: 17

Issue: parent missing

Impact: Keyboard-only user cannot operate a custom tool

WCAG: 1.3.1

Score: 16

Violations of alfa rules

Rule r42

Description: Element is not owned by an element of its required context role

Count of instances: 4

Issue: internal link broken

Impact: User cannot reach a promised document location

WCAG: 1.3.1

Score: 16

Violations of aslint rules

Rule broken_same_page_link

Description: Same-page destination of the link does not exist

Count of instances: 4

Violations of htmlcs rules

Rule AAA.2_4_1.G1,G123,G124.NoSuchID

Description: Internal link references a nonexistent destination

Count of instances: 4

Violations of wave rules

Rule link_internal_broken

Description: Broken same-page link

Count of instances: 3

Issue: list item orphan

Impact: User cannot get help on whether an item is in a list

WCAG: 1.3.1

Score: 16

Violations of axe rules

Rule listitem

Description: Element is not contained by a ul or ol element

Count of instances: 4

Issue: image dubiously named

Impact: Helper may describe an image inadequately

WCAG: 1.1.1

Score: 16

Violations of qualWeb rules

Rule QW-WCAG-T8

Description: Text alternative is not an alternative

Count of instances: 16

Issue: text contrast issues not testable

Impact: Text may be difficult to read

WCAG: 1.4.3

Score: 14

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: 6

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: 6

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: 2

Issue: control label invisible

Impact: User cannot understand how to operate a form item

WCAG: 2.4.6

Score: 12

Violations of aslint rules

Rule label_visually_hidden_only

Description: Form control has a label but it is not visible

Count of instances: 3

Issue: requirement invalid

Impact: User may fail to get help determining whether a form item must be completed

WCAG: 1.3.5

Score: 12

Violations of aslint rules

Rule misused_required_attribute

Description: Requirement status of the element is invalid

Count of instances: 3

Issue: text and image link not combined

Impact: Keyboard-only user expends extra effort to skip a link

WCAG: 2.4.4

Score: 12

Violations of qualWeb rules

Rule QW-WCAG-T10

Description: Adjacent image and text links for the same resource are not combined

Count of instances: 5

Violations of wave rules

Rule link_redundant

Description: Adjacent links go to the same URL

Count of instances: 6

Issue: code invalid

Impact: Invalid code in the document may prevent a helper from working

WCAG: 4.1

Score: 9

Violations of nuVal rules

Rule Saw