Accessibility digest

Contents

Synopsis
PageTed Cruz;Republican;Texas
URLhttps://www.tedcruz.org/
Test date2024/09/22
Score2746
Configuration
Redirectionspermitted
Tool isolationno
Report format(s)standard
Requester
Devicedefault
Browser typewebkit
Reduced motionnot requested
Tested byTestaro, procedure senate2024
Scored byTestilo, procedure tsp50
Digested byTestilo, procedure tdp50
Full report 240915T1658-ikz-1z.json

Introduction

How accessible is the Ted Cruz;Republican;Texas web page at https://www.tedcruz.org/?

This digest gives one answer to that question. Eleven different tools (Alfa, ASLint, Axe, Editoria11y, Equal Access, HTML CodeSniffer, Nu Html Checker, QualWeb, Testaro, WAVE, and WallyAX) tested the page to check its compliance with their accessibility rules. In all, the tools define about a thousand rules, which are classified here into about three hundred accessibility issues.

The results were interpreted to yield a score, with 0 being ideal. The score for this page was 2746, the sum of 650 for the count of issues, 1443 for specific issues, 0 for unclassified rule violations, 247 for tool-by-tool ratings, 184 for the count of violating elements, 0 for the page preventing tools from running, 222 for browser warnings, and 0 for delayed page responses.

How the page was scored

Introduction

This is an explanation of the scoring of the page.

Motivations for scoring

Why score? Specifically, why aggregate many facts about a page into a single number?

One motivation is to simplify comparison and tracking. If you want to compare a page with other pages, or if you want to track changes in a page over time, aggregating many test results for each page into one page score simplifies the task. It becomes possible to say things like Page A is more accessible than page B or Page A is becoming more accessible over time.

Another motivation is to influence behavior. A score arises from decisions about importance, urgency, and other attributes. People may use scores to award benefits, impose costs, or prioritize work. So, scoring can influence who gets and does what.

How to score?

Scoring is subjective. Accessibility testing tools use various scoring procedures, based on various ideas.

The built-in scoring procedures of Testilo are based on the idea that multiple attributes should affect a web-page accessibility score, including:

Some ideas found elsewhere in accessibility scoring are rejected by the Testilo procedures:

Scoring method summary

The scoring method is found in the code of the procedure. The file for any procedure tspnn is in the file procs/score/tspnn.js within the Testilo package.

The score computed by this procedure for any page is a non-negative number. The numbers represent accessibility faults, so a higher-scoring page is considered less accessible than a lower-scoring page. The best possible score is 0.

The procedure makes the score of a page the sum of 7 components:

Scoring method details

The above component descriptions omit various details.

About a thousand tool rules are classified into issues in the tic50.js file used by this procedure. Each of those rules has a quality, ranging from 0 to 1. When the issue score is computed, the count of violations of each rule is multiplied by the quality of that rule. Whichever tool has the largest quality-weighted violation count for an issue, that count is treated as the instance count for the issue. Thus, if 8 tools each report 15 violations within the issue, and their rule qualities are all 1, the instance count is 15, not 120. Moreover, the issue itself has a weight, ranging from 1 to 4, representing its importance. This instance count is multiplied by that weight. That product is further multiplied by the issueCountWeight value, namely 10. That final product is further adjusted if the issue is inherently limited in instance count. For example, if the issue is that the page html element has no lang attribute, the instance count is limited to 1. If there is such a limit, the maxWeight value, namely 30, is divided by the actual instance count and the quotient is added to 1. That product (or 1 if there is no limit) is multiplied by the instance count, and then the result is treated as the contribution of the issue to the issue score.

Each solo (not yet issue-classified) rule violation is multiplied by the sum of 1 and the ordinal severity of the rule, to produce the solo score.

Each rule violation reported by each tool is severity-weighted in the same way as solo rule violations are. Then the sum of those violations is multiplied by the toolWeight value, namely 0.1, to produce the tool score.

The count of elements reported as violators of any rule is multiplied by the elementWeight value, namely 2, to produce the element score.

The count of prevented Testaro rules is multiplied by the testaroRulePreventionWeight quantity, namely 30, and the count of other prevented tools is multiplied by the preventionWeight value, namely 300, to produce the prevention score.

The log score is the sum of several components:

Each of these components is multiplied by a weight found in the logWeights object.

Finally, the latency score is based on how much longer it took for the page to become loaded and stable than expected. The expected total duration in seconds is the normalLatency value, namely 22 seconds (that is 2 seconds per visit, multiplied by the 11 visits of the 11 tools). This is subtracted from the actual total latency, and that difference is multiplied by the latencyWeight amount, namely 2.

Issue summary

Details about this summary

The summary

Sorting is by score.

How many violations each tool reported, by issue
IssueWCAGWeightScoreInstance counts
fatal error4.14248nuVal:2
link indication poor1.3.3282testaro:41, alfa:0, axe:0
void element has trailing slash4.1180nuVal:80
primary heading not h11.3.1262wax:1
contrast poor1.4.3456alfa:1, axe:14, ibm:1, wave:12, wax:1, aslint:0, htmlcs:0, qualWeb:0
CSS bans page rotation1.3.4456aslint:14, qualWeb:0
link element invalid1.3.1452htmlcs:13, nuVal:6, wax:13
skip method missing or invalid2.4.1348axe:1, ibm:0, wave:0, wax:0
control not named4.1.2448ibm:2, wave:3, wax:12, alfa:0, axe:0, htmlcs:0, qualWeb:0
CSS invalid4.1348nuVal:16
focus indication poor2.4.7440testaro:10, alfa:0, aslint:0
title attribute invalid1.3.1440testaro:10
target small2.5.5136alfa:6, testaro:36
list item orphan1.3.1436wax:9, axe:0
text contrast not testable1.4.3132alfa:32, htmlcs:10, aslint:0
svg image not named1.1.1432aslint:8, ibm:5, alfa:0, axe:0, qualWeb:0, wax:0
type redundant1.3.1132nuVal:32
parent invalid1.3.1432nuVal:8, ibm:0
large visible-element count2.4131testaro:1
text contrast improvable1.4.6126alfa:7, aslint:26, axe:1, htmlcs:3, wax:2, qualWeb:0
all-capital text3.1.5120aslint:20, testaro:3, alfa:0, ed11y:0
links named identically2.4.4220aslint:10, qualWeb:0, testaro:0
inconsistent heading, link, or button styles3.2.4120testaro:20
item makes testing inconclusive4.1119alfa:19
font small1.4318aslint:6, wave:3, alfa:0, testaro:0
element closure invalid4.1.1318nuVal:6
ID not unique4.1.1416alfa:4, aslint:4, htmlcs:1, ibm:2, wax:4, axe:0, nuVal:0, qualWeb:0
button not named4.1.2412aslint:3, htmlcs:1, wax:2, alfa:0, axe:0, nuVal:0, qualWeb:0, wave:0
attribute obsolete4.1312aslint:4, htmlcs:0, ibm:0, nuVal:0, testaro:0, wave:0
link not named2.4.4412ed11y:3, htmlcs:3, wave:3, wax:3, alfa:0, axe:0, ibm:0, qualWeb:0
meta invalid1.3.1312nuVal:4
text and image link not combined2.4.4212wave:6, aslint:0, qualWeb:0
element in head invalid4.1.139testaro:3, aslint:0
z-index not zero1.419testaro:9
aria reference invalid1.3.148ibm:2, wave:0
aria attribute invalid4.1.248ibm:2, alfa:0, axe:0, nuVal:0, qualWeb:0, wax:0
attribute value invalid1.3.148nuVal:2, wax:1, ibm:0
image not named1.1.148nuVal:2, alfa:0, axe:0, ed11y:0, htmlcs:0, ibm:0, qualWeb:0, wave:0, wax:0
tab-opening link action unstated?3.2.517aslint:7, htmlcs:7, testaro:7
heading structure illogical1.3.126aslint:2, htmlcs:3
code invalid4.136nuVal:2, qualWeb:0, wave:0
position sticky1.4.1015htmlcs:5, aslint:0
role assigned instead of implicit4.1.215testaro:5
link not named2.4.444aslint:1, htmlcs:1, wave:1, wax:1, ed11y:0, qualWeb:0
image dubiously marked decorative1.1.114htmlcs:4
attribute invalid1.3.144ibm:1, wax:1, aslint:0, axe:0, nuVal:0
no role-required name4.1.244ibm:1, wax:0
audio or video alternatives missing?1.2.214wave:4
heading names repeated1.3.124wax:2, aslint:0, testaro:0
text area not named1.3.144wax:1, htmlcs:0
content beyond landmarks1.3.613alfa:2, axe:2, ibm:2, wax:3
code obsolete4.133ibm:1, nuVal:0
landmarks not distinctly named1.3.633ibm:1, wax:1, axe:0
tab-opening link action unstated3.2.532ed11y:1
role redundant4.1.212ibm:2, nuVal:0
legend missing4.1.222ibm:1, aslint:0, htmlcs:0, qualWeb:0, wave:0, wax:0
autocomplete missing1.3.542testaro:1
line height low1.4.822testaro:1, alfa:0
heading level skipped1.3.122wave:1, alfa:0, axe:0, ed11y:0, wax:0
noscript element not equivalent?4.112wave:2
labeling risky3.3.211aslint:1
link destination not URL1.3.111aslint:1
event not keyboard-triggerable?2.1.111htmlcs:1, qualWeb:0, wave:0
text distortion3.1.511testaro:1
heading-like styles dubious1.3.111wave:1, axe:0, ed11y:0, htmlcs:0

Itemized issues

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

Issue: fatal error

Impact: Document prevents testing for accessibility

WCAG: 4.1

Score: 248

Elements

None identified

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

Issue: link indication poor

Impact: User cannot differentiate a link from plain text

WCAG: 1.3.3

Score: 82

Elements

Violations of testaro rules

Rule linkUl

Description: Inline links are not underlined

Count of instances: 41

Issue: void element has trailing slash

Impact: Document contains invalid code

WCAG: 4.1

Score: 80

Elements

None identified

Violations of nuVal rules

Rule Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.

Description: Void element has a useless trailing slash.

Count of instances: 80

Issue: primary heading not h1

Impact: User cannot understand the topic of the document

WCAG: 1.3.1

Score: 62

Elements

None identified

Violations of wax rules

Rule ^The heading structure is not logically nested. This h. element appears to be the primary document heading, so should be an h1 element.+$

Description: Apparent primary document heading is not h1

Count of instances: 1

Issue: contrast poor

Impact: Content is difficult to understand

WCAG: 1.4.3

Score: 56

Elements

None identified

Violations of alfa rules

Rule r69

Description: Text outside widget has subminimum contrast

Count of instances: 1

Violations of axe rules

Rule color-contrast

Description: Element has insufficient color contrast

Count of instances: 14

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

Violations of wave rules

Rule contrast

Description: Very low contrast

Count of instances: 12

Violations of wax rules

Rule ^This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of .+. Recommendation: change .+ to #.+$

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

Count of instances: 1

Issue: CSS bans page rotation

Impact: User must read sideways after rotating a device

WCAG: 1.3.4

Score: 56

Elements

None identified

Violations of aslint rules

Rule orientation

Description: CSS media query specifies an orientation

Count of instances: 14

Issue: link element invalid

Impact: Document fails to get a needed external resource

WCAG: 1.3.1

Score: 52

Elements

None identified

Violations of htmlcs rules

Rule AAA.2_4_8.H59.1

Description: Element is not in the document head

Count of instances: 13

Violations of nuVal rules

Rule A link element must not appear as a descendant of a body element unless the link element has an itemprop attribute or has a rel attribute whose value contains dns-prefetch, modulepreload, pingback, preconnect, prefetch, preload, prerender, or stylesheet.

Description: Element has a body ancestor but no itemprop or valid rel attribute

Count of instances: 6

Violations of wax rules

Rule Link elements can only be located in the head section of the document.

Description: link element is not located in the head element

Count of instances: 13

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

Elements

None identified

Violations of axe rules

Rule skip-link

Description: Skip-link target is not focusable or does not exist

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

Elements

None identified

Violations of ibm rules

Rule input_label_exists

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

Count of instances: 2

Violations of wave rules

Rule label_missing

Description: form element has no label

Count of instances: 3

Violations of wax rules

Rule Ensure form elements have associated labels.

Description: Form control element has no label

Count of instances: 12

Issue: CSS invalid

Impact: Document cannot be properly displayed

WCAG: 4.1

Score: 48

Elements

None identified

Violations of nuVal rules

Rule ^CSS: .+: Parse Error.*$

Description: Invalid CSS

Count of instances: 10

Rule CSS: Parse Error.

Description: Invalid CSS

Count of instances: 6

Issue: focus indication poor

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

WCAG: 2.4.7

Score: 40

Elements

Violations of testaro rules

Rule focInd

Description: Focused element displays a nonstandard or no focus indicator

Count of instances: 10

Issue: title attribute invalid

Impact: User cannot hover to get help explaining an item

WCAG: 1.3.1

Score: 40

Elements

Violations of testaro rules

Rule titledEl

Description: title attribute belongs to an inappropriate element

Count of instances: 10

Issue: target small

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

WCAG: 2.5.5

Score: 36

Elements

Violations of alfa rules

Rule r111

Description: Target size is suboptimal

Count of instances: 6

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: list item orphan

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

WCAG: 1.3.1

Score: 36

Elements

None identified

Violations of wax rules

Rule Ensure
  • elements are contained within
      or
        .
  • Description: Element is li but is not contained by a ul or ol element

    Count of instances: 9

    Issue: text contrast not testable

    Impact: Text may be difficult to read

    WCAG: 1.4.3

    Score: 32

    Elements

    None identified

    Violations of alfa rules

    Rule cantTellTextContrast

    Description: Test of text contrast could not give a conclusive result

    Count of instances: 32

    Violations of htmlcs rules

    Rule AAA.1_4_3_F24.F24.FGColour

    Description: Inline foreground color may lack a complementary background color

    Count of instances: 2

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

    Issue: svg image not named

    Impact: User cannot get help understanding an image

    WCAG: 1.1.1

    Score: 32

    Elements

    None identified

    Violations of aslint rules

    Rule accessible_svg

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

    Count of instances: 8

    Violations of ibm rules

    Rule svg_graphics_labelled

    Description: Element is svg but has no accessible name

    Count of instances: 5

    Issue: type redundant

    Impact: Document includes unnecessary code

    WCAG: 1.3.1

    Score: 32

    Elements

    None identified

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

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

    Issue: parent invalid

    Impact: User cannot properly operate an item

    WCAG: 1.3.1

    Score: 32

    Elements

    None identified

    Violations of nuVal rules

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

    Description: Element has an invalid parent

    Count of instances: 8

    Issue: large visible-element count

    Impact: User cannot easily find items in the document

    WCAG: 2.4

    Score: 31

    Elements

    None identified

    Violations of testaro rules

    Rule bulk

    Description: Page contains many visible elements

    Count of instances: 1

    Issue: text contrast improvable

    Impact: Content is not easy to understand

    WCAG: 1.4.6

    Score: 26

    Elements

    None identified

    Violations of alfa rules

    Rule r66

    Description: Text contrast less than AAA requires

    Count of instances: 7

    Violations of aslint rules

    Rule color_contrast_aaa7

    Description: Text has contrast less than 7:1

    Count of instances: 24

    Rule color_contrast_aaa4

    Description: Text has contrast less than 4.5:1

    Count of instances: 2

    Violations of axe rules

    Rule color-contrast-enhanced

    Description: Element has insufficient color contrast (Level AAA)

    Count of instances: 1

    Violations of htmlcs rules

    Rule AAA.1_4_6.G17.Fail

    Description: Text has insufficient contrast

    Count of instances: 3

    Violations of wax rules

    Rule ^This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 7:1, but text in this element has a contrast ratio of .+. Recommendation: change .+ to #.+$

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

    Count of instances: 2

    Issue: all-capital text

    Impact: Text is difficult to read

    WCAG: 3.1.5

    Score: 20

    Elements

    Violations of aslint rules

    Rule capital_letters_words

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

    Count of instances: 20

    Violations of testaro rules

    Rule allCaps

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

    Count of instances: 3

    Issue: links named identically

    Impact: User cannot get help differentiating links

    WCAG: 2.4.4

    Score: 20

    Elements

    None identified

    Violations of aslint rules

    Rule links_same_content_different_url

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

    Count of instances: 10

    Issue: inconsistent heading, link, or button styles

    Impact: User cannot easily distinguish items of different types

    WCAG: 3.2.4

    Score: 20

    Elements

    None identified

    Violations of testaro rules

    Rule styleDiff

    Description: Heading, link, and button style inconsistencies

    Count of instances: 20

    Issue: item makes testing inconclusive

    Impact: Item prevents a conclusive accessibility test

    WCAG: 4.1

    Score: 19

    Elements

    None identified

    Violations of alfa rules

    Rule cantTell

    Description: Test could not give a conclusive result

    Count of instances: 19

    Issue: font small

    Impact: Text is difficult to read

    WCAG: 1.4

    Score: 18

    Elements

    None identified

    Violations of aslint rules

    Rule minimum_font_size

    Description: Font size is smaller than 10 pixels

    Count of instances: 6

    Violations of wave rules

    Rule text_small

    Description: Text is very small

    Count of instances: 3

    Issue: element closure invalid

    Impact: Document contains invalid code

    WCAG: 4.1.1

    Score: 18

    Elements

    None identified

    Violations of nuVal rules

    Rule ^Stray end tag .+$

    Description: Invalid closing tag

    Count of instances: 4

    Rule ^Start tag .+ seen but an element of the same type was already open.*$

    Description: Element is invalidly a descendant of another such element

    Count of instances: 2

    Issue: ID not unique

    Impact: User may be pointed to the wrong item

    WCAG: 4.1.1

    Score: 16

    Elements

    None identified

    Violations of alfa rules

    Rule r3

    Description: Element id attribute value is not unique

    Count of instances: 4

    Violations of aslint rules

    Rule duplicated_id_attribute

    Description: Element id attribute value is not unique

    Count of instances: 4

    Violations of htmlcs rules

    Rule AAA.4_1_1.F77

    Description: Duplicate id attribute value

    Count of instances: 1

    Violations of ibm rules

    Rule element_id_unique

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

    Count of instances: 2

    Violations of wax rules

    Rule ^Duplicate id attribute value .+ found on the web page.+$

    Description: id attribute value is not unique

    Count of instances: 4

    Issue: button not named

    Impact: User cannot get help explaing a button

    WCAG: 4.1.2

    Score: 12

    Elements

    None identified

    Violations of aslint rules

    Rule empty_button_description

    Description: button element has no visible accessible name

    Count of instances: 3

    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 wax rules

    Rule This element has role of "button" but does not have a name available to an accessibility API. Valid names are: title , element content, aria-label , aria-labelledby , aria-description , aria-describedby .

    Description: Element with a button role has no accessible name

    Count of instances: 2

    Issue: attribute obsolete

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

    WCAG: 4.1

    Score: 12

    Elements

    None identified

    Violations of aslint rules

    Rule obsolete_html_attributes

    Description: Element has an obsolete attribute

    Count of instances: 4

    Issue: link not named

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

    WCAG: 2.4.4

    Score: 12

    Elements

    Violations of ed11y rules

    Rule linkNoText

    Description: Link has no text

    Count of instances: 3

    Violations of htmlcs rules

    Rule AAA.4_1_2.H91.A.NoContent

    Description: Link has an href attribute but not named

    Count of instances: 3

    Violations of wave rules

    Rule link_empty

    Description: Link contains not named

    Count of instances: 3

    Violations of wax rules

    Rule Anchor element found with a valid href attribute, but no link content has been supplied.

    Description: Link has an href attribute but no content

    Count of instances: 3

    Issue: meta invalid

    Impact: Document fails to include needed data

    WCAG: 1.3.1

    Score: 12

    Elements

    None identified

    Violations of nuVal rules

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

    Description: Attribute is not allowed on a meta element here

    Count of instances: 2

    Rule ^Element meta is missing one or more of the following attributes: .+$

    Description: Element is missing a required attribute

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

    Elements

    None identified

    Violations of wave rules

    Rule link_redundant

    Description: Adjacent links go to the same URL

    Count of instances: 6

    Issue: element in head invalid

    Impact: Browser processes the document improperly

    WCAG: 4.1.1

    Score: 9

    Elements

    None identified

    Violations of testaro rules

    Rule headEl

    Description: Elements in the head are not allowed there

    Count of instances: 3

    Issue: z-index not zero

    Impact: User cannot predict the effect of clicking

    WCAG: 1.4

    Score: 9

    Elements

    Violations of testaro rules

    Rule zIndex

    Description: Element has a nondefault z-index value

    Count of instances: 9

    Issue: aria reference invalid

    Impact: Item behavior violates user expectations

    WCAG: 1.3.1

    Score: 8

    Elements

    None identified

    Violations of ibm rules

    Rule aria_id_unique

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

    Count of instances: 2

    Issue: aria attribute invalid

    Impact: Item behavior violates user expectations

    WCAG: 4.1.2

    Score: 8

    Elements

    None identified

    Violations of ibm rules

    Rule aria_attribute_exists

    Description: ARIA attribute has an empty value

    Count of instances: 2

    Issue: attribute value invalid

    Impact: Item behaves improperly

    WCAG: 1.3.1

    Score: 8

    Elements

    None identified

    Violations of nuVal rules

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

    Description: Attribute on this element has an invalid value

    Count of instances: 2

    Violations of wax rules

    Rule Ensure ARIA attributes have valid values as per specifications.

    Description: Value of an ARIA attribute on the element is invalid

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

    Elements

    None identified

    Violations of nuVal rules

    Rule An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.

    Description: img element has no alt attribute

    Count of instances: 2

    Issue: tab-opening link action unstated?

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

    WCAG: 3.2.5

    Score: 7

    Elements

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

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

    Violations of testaro rules

    Rule linkExt

    Description: Link opens a new window or tab

    Count of instances: 7

    Issue: heading structure illogical

    Impact: Helper misdescribes the document

    WCAG: 1.3.1

    Score: 6

    Elements

    None identified

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

    Issue: code invalid

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

    WCAG: 4.1

    Score: 6

    Elements

    None identified

    Violations of nuVal rules

    Rule ^Bad start tag in .+$

    Description: Invalid start tag

    Count of instances: 2

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

    Elements

    None identified

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

    Issue: role assigned instead of implicit

    Impact: User may misunderstand the purpose of an item

    WCAG: 4.1.2

    Score: 5

    Elements

    Violations of testaro rules

    Rule role

    Description: Explicitly assigned ARIA role is also an implicit element role

    Count of instances: 5

    Issue: link not named

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

    WCAG: 2.4.4

    Score: 4

    Elements

    None identified

    Violations of aslint rules

    Rule img_empty_alt_in_link

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

    Count of instances: 1

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

    Violations of wave rules

    Rule alt_link_missing

    Description: Linked image has no text alternative

    Count of instances: 1

    Violations of wax rules

    Rule Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.

    Description: Link content is an image without a text alternative describing the link purpose

    Count of instances: 1

    Issue: image dubiously marked decorative

    Impact: Helper ignores an image that is apparently informative

    WCAG: 1.1.1

    Score: 4

    Elements

    None identified

    Violations of htmlcs rules

    Rule AAA.1_1_1.H67.2

    Description: Image marked as decorative may be informative

    Count of instances: 4

    Issue: attribute invalid

    Impact: Item behaves improperly

    WCAG: 1.3.1

    Score: 4

    Elements

    None identified

    Violations of ibm rules

    Rule aria_attribute_valid

    Description: ARIA attribute is invalid for the role of its element

    Count of instances: 1

    Violations of wax rules

    Rule Ensure ARIA attributes used are permitted for the element's role.

    Description: Element has an ARIA attribute that is invalid for the role of the element

    Count of instances: 1

    Issue: no role-required name

    Impact: User cannot get help understanding an item

    WCAG: 4.1.2

    Score: 4

    Elements

    None identified

    Violations of ibm rules

    Rule aria_accessiblename_exists

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

    Count of instances: 1

    Issue: audio or video alternatives missing?

    Impact: User may be unable to get help reading video content as text

    WCAG: 1.2.2

    Score: 4

    Elements

    None identified

    Violations of wave rules

    Rule youtube_video

    Description: YouTube video may have no or incorrect captions

    Count of instances: 4

    Issue: heading names repeated

    Impact: User cannot differentiate parts of the document

    WCAG: 1.3.1

    Score: 4

    Elements

    None identified

    Violations of wax rules

    Rule ^The heading structure is not logically nested. This h. element should be an h. to be properly nested.+$

    Description: Heading level is illogical

    Count of instances: 2

    Issue: text area not named

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

    WCAG: 1.3.1

    Score: 4

    Elements

    None identified

    Violations of wax rules

    Rule This textarea element does not have a name available to an accessibility API. Valid names are: label element, title , aria-label , aria-labelledby , aria-description , aria-describedby .

    Description: textarea element has no accessible name

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

    Elements

    None identified

    Violations of alfa rules

    Rule r57

    Description: Perceivable text content is not included in any landmark

    Count of instances: 2

    Violations of axe rules

    Rule region

    Description: Some page content is not contained by landmarks

    Count of instances: 2

    Violations of ibm rules

    Rule aria_content_in_landmark

    Description: Content is not within a landmark element

    Count of instances: 2

    Violations of wax rules

    Rule Use landmarks to contain page content.

    Description: Content is not within a landmark element

    Count of instances: 3

    Issue: code obsolete

    Impact: Document contains code that is no longer standard

    WCAG: 4.1

    Score: 3

    Elements

    None identified

    Violations of ibm rules

    Rule element_attribute_deprecated

    Description: Element or attribute is obsolete

    Count of instances: 1

    Issue: landmarks not distinctly named

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

    WCAG: 1.3.6

    Score: 3

    Elements

    None identified

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

    Violations of wax rules

    Rule Provide unique role or role/label/title combinations for landmarks.

    Description: Landmark is indistinguishable from another by role, label, or title

    Count of instances: 1

    Issue: tab-opening link action unstated

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

    WCAG: 3.2.5

    Score: 2

    Elements

    Violations of ed11y rules

    Rule linkNewWindow

    Description: Link opens a new window or tab without prior notice

    Count of instances: 1

    Issue: role redundant

    Impact: Document includes unnecessary code

    WCAG: 4.1.2

    Score: 2

    Elements

    None identified

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

    Issue: legend missing

    Impact: User cannot get help on the topic of a group of form items

    WCAG: 4.1.2

    Score: 2

    Elements

    None identified

    Violations of ibm rules

    Rule fieldset_legend_valid

    Description: Element has no legend element

    Count of instances: 1

    Issue: autocomplete missing

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

    WCAG: 1.3.5

    Score: 2

    Elements

    Violations of testaro rules

    Rule autocomplete

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

    Count of instances: 1

    Issue: line height low

    Impact: Text is difficult to read

    WCAG: 1.4.8

    Score: 2

    Elements

    Violations of testaro rules

    Rule lineHeight

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

    Count of instances: 1

    Issue: heading level skipped

    Impact: Helper misdescribes the document

    WCAG: 1.3.1

    Score: 2

    Elements

    None identified

    Violations of wave rules

    Rule heading_skipped

    Description: Skipped heading level

    Count of instances: 1

    Issue: noscript element not equivalent?

    Impact: User who has disabled JavaScript may be denied some content

    WCAG: 4.1

    Score: 2

    Elements

    None identified

    Violations of wave rules

    Rule noscript

    Description: noscript element may fail to contain an accessible equivalent or alternative

    Count of instances: 2

    Issue: labeling risky

    Impact: User may misunderstand a form control

    WCAG: 3.3.2

    Score: 1

    Elements

    None identified

    Violations of aslint rules

    Rule missing_labelN

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

    Count of instances: 1

    Issue: link destination not URL

    Impact: Helper cannot properly explain a link to a user

    WCAG: 1.3.1

    Score: 1

    Elements

    None identified

    Violations of aslint rules

    Rule unclear_anchor_uri

    Description: Link destination is #, a script, or empty

    Count of instances: 1

    Issue: event not keyboard-triggerable?

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

    WCAG: 2.1.1

    Score: 1

    Elements

    None identified

    Violations of htmlcs rules

    Rule AAA.2_1_1.G90

    Description: Event handler functionality may not be available by keyboard

    Count of instances: 1

    Issue: text distortion

    Impact: Text is difficult to read

    WCAG: 3.1.5

    Score: 1

    Elements

    Violations of testaro rules

    Rule distortion

    Description: Element text is distorted by a transform style property

    Count of instances: 1

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

    Elements

    None identified

    Violations of wave rules

    Rule heading_possible

    Description: Possible heading

    Count of instances: 1

    Elements with issues

    Elements exhibiting issues:

    Element /html/body/div[1]/ul/li[2]/a
    Element /html/body/div[2]/footer/div/section[2]/div/div/div/div[2]/div/div/span[1]/a
    Element /html/body/div[2]/footer/div/section[2]/div/div/div/div[2]/div/div/span[2]/a
    Element /html/body/div[2]/footer/div/section[2]/div/div/div/div[2]/div/div/span[3]/a
    Element /html/body/div[2]/footer/div/section[2]/div/div/div/div[2]/div/div/span[4]/a
    Element /html/body/div[2]/header
    Element /html/body/div[2]/header/div/div[1]/div[2]/div/div/div/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/button
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/button/span
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/button
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[1]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[2]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[3]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[4]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[5]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[6]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[7]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[8]/a
    Element /html/body/div[2]/header/div/div[1]/div[3]/div/div/div/div[1]/div/div/div/div/div/div/div/nav/li[9]/a
    Element /html/body/div[2]/header/div/div[2]/div[1]/div/div/div/a
    Element /html/body/div[2]/header/div/div[2]/div[2]/div/div/div/button
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[1]/div/div/div/div/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[1]/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[2]/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[2]/a/span
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[2]/ul
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[3]/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[3]/ul
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[2]/div/div/div/div/div/ul/li[4]/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[3]/div/div[1]/div/a
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[3]/div/div[1]/div/a/span
    Element /html/body/div[2]/header/div/section[1]/div[2]/div[3]/div/div[2]/div/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[1]/div/div/div/div/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/button
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/div/button
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/div/div/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/div/div/a/img
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[1]/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/div/div/div[2]/div[1]/div[1]/div/h4
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/div/div/div[2]/div[1]/div[1]/div/h4/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/div/div/div[2]/div[2]/div/div/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/ul
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[3]/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[1]/div/div/div[1]/ul/li[4]/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[2]/div
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[2]/div/a
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[2]/div/a/span
    Element /html/body/div[2]/header/div/section[2]/div[2]/div[2]/div/div[3]/div/a
    Element /html/body/div[2]/main/div/div/div/div[2]/div[2]/div[2]/div[2]/div/div/a
    Element /html/body/div[2]/main/div/div/div/div[2]/div[2]/div[3]/div[2]/div/div/a
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[1]/div/div[1]/div/input
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[1]/div/div[3]/div/input
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[1]/div/fieldset/div/input[1]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[1]/div/fieldset/div/input[2]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[1]/div/fieldset/div/label/a
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[2]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[4]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[5]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[6]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[7]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/div[2]/input[8]
    Element /html/body/div[2]/main/div/div/section[1]/div[2]/div/div/section/div/div[2]/div/div[3]/div/div/div/form/p/input
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[2]/div[1]/div/div/div/a
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[2]/div[2]/div/div/div/a
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[2]/div[4]/div/div/div/a
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[2]/div[5]/div/div/div/a
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[2]/div[6]/div/div/div/a
    Element /html/body/div[2]/main/div/div/section[3]/div[2]/div/div/section/div/div[2]/div/div[3]/div/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[1]/article/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[1]/article/header/div/div[1]/div/span/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[1]/article/header/h3/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[2]/article/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[2]/article/header/div/div[1]/div/span/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[2]/article/header/h3/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[3]/article/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[3]/article/header/div/div[1]/div/span/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[3]/article/header/div/div[2]/ul/li/a
    Element /html/body/div[2]/main/div/div/section[4]/div[2]/div/div/section/div/div[2]/div/div/div/div/div/div[3]/article/header/h3/a
    Element /html/body/div[3]
    Element /html/body/div[3]/div[2]
    Element /html/head/link[47]
    Element /html/head/link[48]
    Element /html/head/link[50]
    Element /html/head/link[51]
    Element /html/head/link[7]
    Element /html/head/link[8]