Three pages from the Ruter# traffic site for the Oslo and Akershus counties were selected for analysis. Failures already identified for one type of page are not reported for other types of pages, so the results are cumulative and unique. Apart from clarity of presentation, the rationale behind this is that once a single instance of a failure is identified, the developer would audit the entire site code for similar failures. In addition, the main purpose of this exercise is to highlight the usefulness — or lack thereof — of selected automated accessibility checkers in finding failures.
The results of analysis performed are consistent with the detailed individual assessment of selected tools. TotalValidator is focused mostly in parser-type failures which are easiest to find and code for in automated software, whereas Wave and Firefox Accessibility Evaluator (FAE) are only of very limited use, but still valuable as tools due to their ability to identify problems hard to find for a human developer, such as contrast ratio failures, instances of duplicated text, or broken references.
Out of the total of 35 failures identified during analysis, the human evaluator found 31, or 88.6%, TotalValidator found 7, or 20%, Wave found 12, or 34.3%, while the FAE extension found 8, or 22.9%.
Failure | Human | TotalValidator | Wave | FAE |
---|---|---|---|---|
The lang attribute is incorrectly appended
to the head element instead of the parent
root element, resulting in the page not having a defined
language, given that the Content-Language
server header was not set
|
yes | yes | yes | yes |
Empty anchors are present (including, but not limited to, the JavaScript menu trigger) | yes | yes | yes | no |
Duplication: alt content is identical to
the description surrounding the image — differentiated
for mobile and desktop users, but still visible for text
browser users and processed by screen readers, given the
lack of aural styles
|
yes | no | no | no |
Text search form controls are not marked up as such
(input type=search ) — instead, plain text
inputs are used
|
yes | no | no | no |
The input form controls (of
text and radio type) do not
have a label associated with them (e.g.
search)
|
yes | yes | yes | no |
The form submit button contains an encoded entity instead of action-descriptive text | yes | no | no | no |
The abbr and elements are not used to mark
up abbreviations (such as PDF)
|
yes | no | no | no |
In order to provide for user agents without JavaScript
support (or other user agents with scripting turned
off), the contents of the option elements
in the select drop-downs contents were
duplicated in the form of unordered lists. These blocks
of repetitive content are unskipable
|
yes | no | no | no |
Fake JavaScript links are employed for transport type pickers | yes | no | no | no |
The page has no real outline, or well-defined sections.
Level-1 headings (h1 ) are used for the
'pane' content subsections below the main form, instead
of heading the entire page. There are no subheadings,
even though clearly there are distinct content groups
present (e.g., the aforementioned 'panes'). Generic
span wrappers with heading-imitating styles
are used instead for presentational purposes
|
yes | no | no | yes |
Not all distinct content is grouped in meaningful containers
(such as main , article , or
section ). Generic layers
(div ) are used instead
|
yes | no | no | no |
Redundant title text is used, identical to the raw anchor text content | yes | no | yes | no |
section elements are not used to mark up
blocks of independent content, but instead are employed
as generic layer (div ) substitutes in many
places, for example for plain anchor containers
(e.g. for tickets)
|
yes | no | no | no |
The entire paragraph content is linked, whereas only the relevant parts with meaningful context phrases should have been linked instead | yes | no | no | no |
Inline frames do not have an associated title | yes | no | no | no |
Form controls are not grouped in fieldset
elements with associated legend . Generic
layers are employed instead
|
yes | yes | yes | no |
The mine favoritter form has no submit
button provided — instead, a fake JavaScript link is
used: a href=javascript:void(0)
|
yes | yes | no | no |
The cookie warning information is required, but is implemented as a fly-in pop-up, implying a change of context | yes | no | no | no |
Images used in the cookie pop-up have no associated
alt attribute text fallback
|
yes | no | yes | no |
Empty form control label elements are used
|
yes | no | yes | no |
Absolute values are used for font size (pixels) | yes | no | no | yes |
Values denoting the bus/tram line numbers are not marked
up (e.g. with the var element). Instead, a
generic inline wrapper is used: span
class=number
|
yes | no | no | no |
target attributes with non-default values
are used for anchors, creating an unexpected change of
context
|
yes | no | no | no |
The strong emphasis element is misused for
presentational purposes (bold text)
|
yes | no | no | no |
There are multiple instances of links with identical text | yes | yes | yes | yes |
Non-focusable elements such as table cells and generic
layers have event handlers associated with them in place
of anchor children. These handlers are exclusively
device-dependent (onclick only)
|
no | no | yes | yes |
The for attribute for the
label element does not correspond to
any form control's id , resulting in the
label being unassociated with any control
|
no | no | yes | yes |
Insufficient contrast ratio on the page (below 7:1), including cases where it is below minimum acceptable level (3:1) | no | no | no | yes |
Aural styles are not used; in particular, the
speak: none declaration is not used in
combination with the display: none
declaration, wherever the latter is required
|
yes | no | no | no |
Failure | Human | TotalValidator | Wave | FAE |
---|---|---|---|---|
The time element is not used to mark up
dates and times (including travel duration)
|
yes | no | no | no |
Email form controls are not marked up as such
(input type=email ) — instead, plain text
inputs are used
|
yes | no | no | no |
Form controls are grouped in the fieldset
element have no associated legend
|
yes | no | no | no |
Failure | Human | TotalValidator | Wave | FAE |
---|---|---|---|---|
The map is not accessible in user agents without JavaScript, or with scripting turned off. While this is expected for this kind of feature — access to the anchor leading to the map is not access-able either in these user agents. Further, the map is not access-able either in user agents with scripting on, but with referrer tracking turned off | yes | no | no | no |
Multiple form label elements associated
with a single form control
|
no | no | yes | no |
Images with no alt attributes present, with
text description provided only through the
title attribute
|
yes | yes | yes | yes |