Accessibility digest

Synopsis
PageOur World in Data
URLhttps://ourworldindata.org/
Requesterpool@jpdev.pro
Test date2023/11/20
Score1953
Tested byTestaro, procedure ts37a
Scored byTestilo, procedure tsp38
Digested byTestilo, procedure tdp38
Derived fromFull report

Introduction

How accessible is the Our World in Data web page at https://ourworldindata.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 1953, the sum of 560 for the count of issues, 1072 for specific issues, 268 for tool-by-tool ratings, 0 for the page preventing tools from running, 53 for browser warnings, and 0 for delayed page responses.

Issue summary

Summary of issues
IssueWCAGScoreTools reporting the issue
text contrast poor1.4.3152alfa, axe, ibm, wave
page language missing3.1.1124alfa, aslint, axe, htmlcs, ibm, nuVal, qualWeb, wave
target small2.5.5108testaro
image not named1.1.164aslint
main missing1.3.662axe
content beyond landmarks1.3.658alfa, axe, ibm
link indication poor1.3.350alfa, aslint, testaro
text contrast improvable1.4.650alfa, aslint, axe, htmlcs
focus indication poor2.4.744alfa, testaro
line height low1.4.836alfa, testaro
error reference invalid3.3.132qualWeb
large visible-element count2.431testaro
title attribute invalid1.3.120testaro
inconsistent heading, link, or button styles3.2.417testaro
parent invalid1.3.116nuVal
links named identically2.4.414aslint, qualWeb, testaro
button not named4.1.212alfa, aslint, axe, htmlcs, qualWeb, wave
svg image not named1.1.112aslint
control not named4.1.212ibm, wave
hover indication poor3.3.212testaro
nav links not list1.3.110htmlcs, qualWeb
tab-opening link action possibly unstated3.2.59aslint, htmlcs, testaro
label empty1.3.19aslint, wave
image dubiously named1.1.19qualWeb
skip method possibly missing or invalid2.4.18alfa
label reference invalid1.3.18htmlcs
attribute value invalid1.3.18nuVal
text and image link not combined2.4.48qualWeb, wave
title attribute redundant1.3.15testaro, wave
attribute invalid1.3.14aslint, nuVal
input not named4.1.24htmlcs
aria reference invalid1.3.14ibm
no role-required name4.1.24ibm
label contains control with nonmatching ID1.3.14nuVal
aria attribute missing4.1.24qualWeb
autocomplete missing1.3.54testaro
operable element not focusable2.1.14testaro
position sticky1.4.103htmlcs
text contrast issues not testable1.4.33htmlcs
code obsolete4.13ibm
role invalid4.1.23ibm
type redundant1.3.13nuVal
CSS invalid4.13nuVal
z-index not zero1.43testaro
heading-like styles dubious1.3.13wave
heading level skipped1.3.12alfa, axe, wave
heading structure illogical1.3.12aslint, htmlcs
links dubiously share name2.4.42axe
section heading missing1.3.12nuVal
element not focusable2.1.12testaro
label types incompatible1.3.12testaro
labeling risky3.3.21aslint
control hidden but labeled1.3.11htmlcs
label location dubious3.3.21qualWeb
role redundant4.1.21testaro
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: text contrast poor

Impact: Text is difficult to read

WCAG: 1.4.3

Score: 152

Violations of alfa rules

Rule r69

Description: Text outside widget has subminimum contrast

Count of instances: 38

Violations of axe rules

Rule color-contrast

Description: Element has insufficient color contrast

Count of instances: 37

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

Violations of wave rules

Rule contrast

Description: Very low contrast

Count of instances: 28

Issue: page language missing

Impact: Speaking helper may mispronounce the document text

WCAG: 3.1.1

Score: 124

Violations of alfa rules

Rule r4

Description: lang attribute missing, empty, or only whitespace

Count of instances: 1

Violations of aslint rules

Rule html_lang_attrN

Description: lang attribute missing from the html element

Count of instances: 1

Violations of axe rules

Rule html-has-lang

Description: html element has no lang attribute

Count of instances: 1

Violations of htmlcs rules

Rule AAA.3_1_1.H57.2

Description: html element has no lang or xml:lang attribute

Count of instances: 1

Violations of ibm rules

Rule html_lang_exists

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

Count of instances: 1

Violations of nuVal rules

Rule Consider adding a lang attribute to the html start tag to declare the language of this document.

Description: html start tag has no lang attribute to declare the language of the page

Count of instances: 1

Violations of qualWeb rules

Rule QW-ACT-R2

Description: HTML page has no lang attribute

Count of instances: 1

Violations of wave rules

Rule language_missing

Description: Language missing or invalid

Count of instances: 1

Issue: target small

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

WCAG: 2.5.5

Score: 108

Violations of testaro rules

Rule targetSize

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

Count of instances: 36

Issue: image not named

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

WCAG: 1.1.1

Score: 64

Violations of aslint rules

Rule missing_alt_attribute

Description: Image has no alt attribute

Count of instances: 16

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: content beyond landmarks

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

WCAG: 1.3.6

Score: 58

Violations of alfa rules

Rule r57

Description: Perceivable text content is not included in any landmark

Count of instances: 58

Violations of axe rules

Rule region

Description: Some page content is not contained by landmarks

Count of instances: 23

Violations of ibm rules

Rule aria_content_in_landmark

Description: Content is not within a landmark element

Count of instances: 20

Issue: link indication poor

Impact: User cannot differentiate a link from plain text

WCAG: 1.3.3

Score: 50

Violations of alfa rules

Rule r62

Description: Inline link is not distinct from the surrounding text except by color

Count of instances: 1

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

Violations of testaro rules

Rule linkUl

Description: Inline links are not underlined

Count of instances: 25

Issue: text contrast improvable

Impact: Text is difficult to read

WCAG: 1.4.6

Score: 50

Violations of alfa rules

Rule r66

Description: Text contrast less than AAA requires

Count of instances: 50

Violations of aslint rules

Rule color_contrast_aaa7

Description: Text has contrast less than 7:1

Count of instances: 36

Rule color_contrast_aaa

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

Count of instances: 6

Violations of axe rules

Rule color-contrast-enhanced

Description: Element has insufficient color contrast (Level AAA)

Count of instances: 6

Violations of htmlcs rules

Rule AAA.1_4_6.G17.Fail

Description: Text has insufficient contrast

Count of instances: 29

Issue: focus indication poor

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

WCAG: 2.4.7

Score: 44

Violations of alfa rules

Rule r65

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

Count of instances: 2

Violations of testaro rules

Rule focInd

Description: Focused element displays a nonstandard or no focus indicator

Count of instances: 11

Issue: line height low

Impact: Text is difficult to read

WCAG: 1.4.8

Score: 36

Violations of alfa rules

Rule r73

Description: Text line height is not at least 1.5

Count of instances: 2

Violations of testaro rules

Rule lineHeight

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

Count of instances: 18

Issue: error reference invalid

Impact: User cannot correct a form error

WCAG: 3.3.1

Score: 32

Violations of qualWeb rules

Rule QW-ACT-R41

Description: Error message describes no invalid form field value

Count of instances: 8

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: title attribute invalid

Impact: User cannot hover to get help explaining an item

WCAG: 1.3.1

Score: 20

Violations of testaro rules

Rule titledEl

Description: title attribute belongs to an inappropriate 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: 17

Violations of testaro rules

Rule styleDiff

Description: Heading, link, and button style inconsistencies

Count of instances: 17

Issue: parent invalid

Impact: User cannot properly operate an item

WCAG: 1.3.1

Score: 16

Violations of nuVal rules

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

Description: Element has an invalid parent

Count of instances: 4

Issue: links named identically

Impact: User cannot get help differentiating links

WCAG: 2.4.4

Score: 14

Violations of aslint rules

Rule links_same_content_different_url

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

Count of instances: 7

Violations of qualWeb rules

Rule QW-ACT-R9

Description: Links with identical accessible names have different purposes

Count of instances: 4

Violations of testaro rules

Rule linkAmb

Description: Links with the same text content have different destinations

Count of instances: 7

Issue: button not named

Impact: User cannot get help explaing a button

WCAG: 4.1.2

Score: 12

Violations of alfa rules

Rule r12

Description: Button has no accessible name

Count of instances: 1

Violations of aslint rules

Rule empty_button_description

Description: Button has no visible accessible name

Count of instances: 3

Violations of axe rules

Rule button-name

Description: Button has no discernible text

Count of instances: 1

Violations of htmlcs rules

Rule AAA.4_1_2.H91.Button.Name

Description: Button element has no accessible name

Count of instances: 1

Violations of qualWeb rules

Rule QW-ACT-R11

Description: Button has no accessible name

Count of instances: 1

Violations of wave rules

Rule button_empty

Description: Button is empty or has no value text

Count of instances: 1

Issue: svg image not named

Impact: User cannot get help understanding an image

WCAG: 1.1.1

Score: 12

Violations of aslint rules

Rule accessible_svg

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

Count of instances: 3

Issue: control not named

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

WCAG: 4.1.2

Score: 12

Violations of ibm rules

Rule input_label_exists

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

Count of instances: 3

Violations of wave rules

Rule label_missing

Description: form element has no label

Count of instances: 1

Issue: hover indication poor

Impact: User cannot explore the document reliably with a mouse

WCAG: 3.3.2

Score: 12

Violations of testaro rules

Rule hovInd

Description: Hovering is unclearly indicated

Count of instances: 4

Issue: nav links not list

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

WCAG: 1.3.1

Score: 10

Violations of htmlcs rules

Rule AAA.1_3_1.H48

Description: Navigation links are not coded as a list

Count of instances: 4

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: 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: label empty

Impact: User cannot get help on the topics of form items

WCAG: 1.3.1

Score: 9

Violations of aslint rules

Rule empty_label_element

Description: Element has no content

Count of instances: 1

Rule aria_labelledby_association_empty_element

Description: Referenced label has no content

Count of instances: 2

Violations of wave rules

Rule label_empty

Description: Empty form label

Count of instances: 1

Issue: image dubiously named

Impact: Helper may describe an image inadequately

WCAG: 1.1.1

Score: 9

Violations of qualWeb rules

Rule QW-WCAG-T8

Description: Text alternative is not an alternative

Count of instances: 9

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: label reference invalid

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

WCAG: 1.3.1

Score: 8

Violations of htmlcs rules

Rule AAA.1_3_1.ARIA16,ARIA9

Description: aria-labelledby attribute references a nonexistent element

Count of instances: 1

Rule AAA.4_1_2.ARIA16,ARIA9

Description: aria-labelledby attribute references a nonexistent element

Count of instances: 1

Issue: attribute value invalid

Impact: Item behaves improperly

WCAG: 1.3.1

Score: 8

Violations of nuVal rules

Rule ^Bad value .* for attribute .+ on element .+$

Description: Attribute on this element has an invalid value

Count of instances: 2

Issue: text and image link not combined

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

WCAG: 2.4.4

Score: 8

Violations of qualWeb rules

Rule QW-WCAG-T10

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

Count of instances: 4

Violations of wave rules

Rule link_redundant

Description: Adjacent links go to the same URL

Count of instances: 1

Issue: title attribute redundant

Impact: Helper repeats the explanation of an item

WCAG: 1.3.1

Score: 5

Violations of testaro rules

Rule linkTitle

Description: Link title value is also contained in the link text

Count of instances: 5

Violations of wave rules

Rule title_redundant

Description: Title attribute text is the same as the text or alternative text

Count of instances: 4

Issue: attribute invalid

Impact: Item behaves improperly

WCAG: 1.3.1

Score: 4

Violations of aslint rules

Rule misused_input_attribute

Description: Element has an attribute that is not valid for input elements

Count of instances: 1

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: 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.InputEmail.Name

Description: Email input has no accessible name

Count of instances: 1

Issue: aria reference invalid

Impact: Item behavior violates user expectations

WCAG: 1.3.1

Score: 4

Violations of ibm rules

Rule aria_id_unique

Description: ARIA attribute has an invalid or duplicated id as its value

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: label contains control with nonmatching ID

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

WCAG: 1.3.1

Score: 4

Violations of nuVal rules

Rule ^Any .+ descendant of a label element with a for attribute must have an ID value that matches that for attribute.*$

Description: label element has a labelable descendant whose ID differs from the for attribute of the label

Count of instances: 1

Issue: aria attribute missing

Impact: Item behaves improperly

WCAG: 4.1.2

Score: 4

Violations of qualWeb rules

Rule QW-ACT-R28

Description: Element with a role attribute does not have the required states and properties

Count of instances: 1

Issue: autocomplete missing

Impact: User cannot get help entering personal information in a form

WCAG: 1.3.5

Score: 4

Violations of testaro rules

Rule autocomplete

Description: Name or email input is missing its required autocomplete attribute

Count of instances: 2

Issue: operable element not focusable

Impact: Keyboard-only user cannot navigate properly to an operable item

WCAG: 2.1.1

Score: 4

Violations of testaro rules

Rule opFoc

Description: Operable element is not Tab-focusable

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

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

Issue: text contrast issues not testable

Impact: Text may be difficult to read

WCAG: 1.4.3

Score: 3

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

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

Issue: code obsolete

Impact: Document contains code that is no longer standard

WCAG: 4.1

Score: 3

Violations of ibm rules

Rule element_attribute_deprecated

Description: Element or attribute is obsolete

Count of instances: 1

Issue: role invalid

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

WCAG: 4.1.2

Score: 3

Violations of ibm rules

Rule aria_contentinfo_misuse

Description: Element with a contentinfo role is present without an element with a main role

Count of instances: 1

Issue: type redundant

Impact: Document includes unnecessary code

WCAG: 1.3.1

Score: 3

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

Rule The type attribute for the style element is not needed and should be omitted.

Description: type attribute is unnecessary for a style element

Count of instances: 2

Issue: CSS invalid

Impact: Document cannot be properly displayed

WCAG: 4.1

Score: 3

Violations of nuVal rules

Rule ^CSS: .+: .+ is not a .+ value.*$

Description: Invalid value in CSS

Count of instances: 1

Issue: z-index not zero

Impact: User cannot predict the effect of clicking

WCAG: 1.4

Score: 3

Violations of testaro rules

Rule zIndex

Description: Element has a nondefault z-index value

Count of instances: 3

Issue: heading-like styles dubious

Impact: User may be unable to understand the topic of a part of the document

WCAG: 1.3.1

Score: 3

Violations of wave rules

Rule heading_possible

Description: Possible heading

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: heading structure illogical

Impact: Helper misdescribes the document

WCAG: 1.3.1

Score: 2

Violations of aslint rules

Rule headings_hierarchy

Description: Heading level is illogical in its context

Count of instances: 1

Violations of htmlcs rules

Rule AAA.1_3_1_AAA.G141

Description: Heading level is incorrect

Count of instances: 1

Issue: links dubiously share name

Impact: User may be unable to get help differentiating links

WCAG: 2.4.4

Score: 2

Violations of axe rules

Rule identical-links-same-purpose

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

Count of instances: 2

Issue: section heading missing

Impact: User cannot understand the topic of a part of the document

WCAG: 1.3.1

Score: 2

Violations of nuVal rules

Rule Section lacks heading. Consider using h2-h6 elements to add identifying headings to all sections, or else use a div element instead for any cases where no heading is needed.

Description: section has no heading

Count of instances: 2

Issue: element not focusable

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

WCAG: 2.1.1

Score: 2

Violations of testaro rules

Rule focAll

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

Count of instances: 1

Issue: label types incompatible

Impact: User cannot get reliable help on the topics of form items

WCAG: 1.3.1

Score: 2

Violations of testaro rules

Rule labClash

Description: Incompatible label types

Count of instances: 1

Issue: labeling risky

Impact: User may misunderstand a form control

WCAG: 3.3.2

Score: 1

Violations of aslint rules

Rule missing_labelN

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

Count of instances: 1

Issue: control hidden but labeled

Impact: Document includes unnecessary code

WCAG: 1.3.1

Score: 1

Violations of htmlcs rules

Rule AAA.1_3_1.F68.HiddenAttr

Description: Form field with a hidden attribute is needlessly labeled.

Count of instances: 1

Issue: label location dubious

Impact: User may fail to notice the explanation of an item in a form

WCAG: 3.3.2

Score: 1

Violations of qualWeb rules

Rule QW-WCAG-T17

Description: label not positioned to maximize the predictability of the relationship

Count of instances: 1

Issue: role redundant

Impact: Document includes unnecessary code

WCAG: 4.1.2

Score: 1

Violations of testaro rules

Rule role

Description: Invalid, native-replacing, or redundant role

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

Violations of testaro rules

Rule allCaps

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

Count of instances: 2