SlideShare a Scribd company logo
1 of 97
Download to read offline
These (still) aren't the SCs you're looking for …
(mis)adventures in WCAG 2.x interpretation and audits
Patrick H. Lauke / a11yTO / 19 October 2023
about me …
▪ principal accessibility specialist at TetraLogical
▪ previously at The Paciello Group (now TPGi)
▪ occasional W3C AGWG member
▪ WCAG trash panda
déjà vu?
you may have already seen an earlier version of this talk …
even years later, the same question still bubbles up
(on mailing lists, a11ySlack, mastodon, …)
“which success criterion can I
fail this under?”
far too often, auditors clearly
dislike something, and look for
a justification to fail it …
and I get it … sometimes it's just to show how smart we are
overstep the boundaries of
WCAG SCs
claim something has to be fixed/changed "to pass WCAG"
when it normatively doesn't
we are not lawyers (or judges)
but our audits and evaluations often have some legal dimension to them.
▪ evaluations should be as objective as possible
▪ evaluations should be consistent
… of course, this is easier said than done
WCAG is built on the idea that
success criteria can be
evaluated clearly, unambiguously
and consistently…
… but that's not always the case
with WCAG 2.2 we now have
9 more SCs!
… just more potential for confusion and misinterpretation?
only a few
cherry-picked examples
but there's more where that came from…
WCAG success criteria are often
misunderstood and/or
misinterpreted
leads to wrong, or at least inconsistent, error reporting
2.4.6 Headings and Labels (AA)
Headings and labels describe topic or purpose.
this doesn't mandate the use of headings and labels … only that if a
page uses headings and labels, they must be descriptive.
it also doesn't mandate that headings and labels be correctly marked-up -
that's the job of 1.3.1 Info and Relationships and (where it affects
"accessible name" of controls) 4.1.2 Name, Role, Value .
lastly, if labels aren't there, it's a 3.3.2 Labels or Instructions problem.
“
<p class="heading1">More information</p>
▪ passes 2.4.6 Headings and Labels
▪ fails 1.3.1 Info and Relationships
3.3.2 Labels or Instructions (A)
Labels or instructions are provided when content requires user
input.
again, this doesn't mandate that labels be marked-up as <label> and
properly associated with form controls - that's covered by
1.3.1 Info and Relationships and (where it affects "accessible name" of
controls) 4.1.2 Name, Role, Value .
“
<input type="text">
▪ passes 2.4.6 Headings and Labels
▪ fails 3.3.2 Labels or Instructions
▪ fails 4.1.2 Name, Role, Value
<p>First name</p>
<input type="text">
▪ passes 2.4.6 Headings and Labels
▪ passes 3.3.2 Labels or Instructions
▪ fails 1.3.1 Info and Relationships
▪ fails 2.5.3 Label in Name
▪ fails 4.1.2 Name, Role, Value
<p>First name</p>
<input type="text" aria-label="First name" >
▪ passes 2.4.6 Headings and Labels
▪ passes 3.3.2 Labels or Instructions
▪ passes 2.5.3 Label in Name
▪ passes 4.1.2 Name, Role, Value
▪ passes (arguably) 1.3.1 Info and Relationships
2.1.1 Keyboard (A)
All functionality of the content is operable through a keyboard
interface […]
doesn't say anything about which keys are needed to operate
controls/functionality
“
<a href="#" onclick="…" role="button">fake button</a>
▪ passes 2.1.1 Keyboard
even though it doesn't respond to SPACE like real button would
<a href="#" role="button">Activate using 'b'</a>
.addEventListener('keypress', function(e) {
if (e.key == 'b') { /* do something */ }
})
▪ passes 2.1.1 Keyboard
even though it can only be triggered using the letter b
1.3.3 Sensory Characteristics (A)
Instructions provided for understanding and operating content do
not rely solely on sensory characteristics of components such as
shape, color, size, visual location, orientation, or sound.
this only relates specifically to instructions … and not whether or not
sensory characteristics are used for content - this is covered by other SCs,
like 1.4.1 Use of Color or even 1.1.1 Non-Text Content .
Fixes for Understanding 1.3.3 Sensory Characteristics #767
“
example: buttons with shapes or colours
▪ fail 1.1.1 Non-text Content (if there's no hidden text / accessible name)
▪ fail 1.4.1 Use of Color for the second set
▪ fail 4.1.2 Name, Role, Value (if there's no accessible name)
▪ pass 1.3.3 Sensory Characteristics as there are no instructions
example: buttons with shapes or colours
▪ fail 1.1.1 Non-text Content (if there's no hidden text / accessible name)
▪ fail 1.4.1 Use of Color for the second set
▪ fail 4.1.2 Name, Role, Value (if there's no accessible name)
▪ fail 1.3.3 Sensory Characteristics as there are instructions
SCs that are interpreted as their
opposites
1.4.1 Use of Color (A)
Color is not used as the only visual means of conveying
information, indicating an action, prompting a response, or
distinguishing a visual element.
both lines contain a link. but only in the first line is colour used.
the first cases fails 1.4.1 Use of Color, but the second passes
auditors pondering failing the previous example for not using colour …
“
1.3.1 Info and Relationships (A)
Information, structure, and relationships conveyed through
presentation can be programmatically determined or are available
in text.
auditors pondering failing the previous example for not conveying things
through presentation …
“
SCs are non-commutative
("if X, then Y" does not mean "if Y, then X")
WCAG success criteria and
cascades of fail …
cascade of fail
<a href="…"> <img src="…"> </a>
fails multiple criteria , in sequence:
▪ the image itself fails 1.1.1 Non-text content
▪ as a result, link lacks accessible name and fails 4.1.2 Name, Role, Value
▪ arguably, link also fails 2.4.4 Link Purpose (In Context)
need consistency in how this is reported
interrelated criteria …
3.1.1 Language of Page (A)
The default human language of each Web page can be
programmatically determined.
3.1.2 Language of Parts (AA)
The human language of each passage or phrase in the content can
be programmatically determined […]
if you can't determine the language of the page, then you also can't
determine the language of each passage or phrase.
fail one, and you automatically fail the other …
“
“
minimum and enhanced
▪ 1.4.3 Contrast (Minimum) → 1.4.6 Contrast (Enhanced)
▪ 2.4.11 Focus Not Obscured (Minimum) → 2.4.12 Focus Not Obscured
(Enhanced)
▪ 2.5.8 Target Size (Minimum) → 2.5.5 Target Size (Enhanced)
▪ 3.3.8 Accessible Authentication (Minimum) → 3.3.9 Accessible
Authentication (Enhanced)
fail one, and you automatically fail the other …
need consistency in how this is reported (if you care about AAA)
auditor education / consistency
problems …
internal training and resources can help
more problematic are issues caused by
WCAG SCs that are vague ,
incomplete or otherwise
lacking
WCAG 2.x is not perfect
written by well-meaning, but fallible humans …
WCAG success criteria can be
subjective …
subjective interpretation?
▪ 1.1.1 All non-text content […] has a text alternative that serves the
equivalent purpose - but what's the purpose?
▪ 1.2.2 Captions are provided … - but do these captions need to be
exact, identify speakers, etc.?
▪ 1.3.1 Information, structure, and relationships conveyed through
presentation […] - where do you draw the line?
▪ 2.4.6 Headings and labels describe topic or purpose - what's
"descriptive" exactly?
what is a list?
<a href="/">home</a>
<a href="…">products</a>
<a href="…">contact</a>
do you fail 1.3.1 Info and Relationships because they didn't wrap this in a
<ul> , even if this isn't conveyed through presentation ?
if you look hard enough, it's lists all the way down
turtles
WCAG has a few strange
omissions , ambiguities ,
exemptions …
2.4.4 Link Purpose (In Context) (AA)
The purpose of each link can be determined from the link text
alone or from the link text together with its programmatically
determined link context […]
what counts as "programmatically determined link context"? do preceding
headings count?
“
"I think what the
founding fathers/mothers
of WCAG meant to say …"
understanding documents and techniques try to clarify …
normative versus
non-normative
understanding / techniques can't
provide examples of
all possible scenarios
beyond the need for subjective interpretation
WCAG success criteria can have
odd loopholes …
2.4.7 Focus Visible (AA)
Any keyboard operable user interface has a mode of operation
where the keyboard focus indicator is visible.
but what does visible mean? it's not normatively defined…
“
a single extra pixel shown on focus is arguably visible
WCAG 2.1 decided not to modify
2.0 SCs, patched loopholes
with more SCs
but these new SCs also ended up having some loopholes
1.4.11 Non-text Contrast (AA)
The visual presentation of the following have a contrast ratio of at
least 3:1 against adjacent color(s):
▪ User Interface Components: Visual information required to identify
user interface components and states […]
▪ Graphical Objects: […]
“
much better … that pixel has a 3:1 contrast ratio now
… but we'll fix focus WCAG 2.2?
2.4.11 Focus Appearance (Minimum) (Level AA)
2.4.12 Focus Appearance (Enhanced) (Level AAA)
… but we'll fix focus WCAG 2.2!
2.4.13 Focus Appearance (Level AAA)
Only at Level AAA … where success criteria go to die …
2.4.11 Focus Appearance (Minimum) (Level AA)
2.4.12 Focus Appearance (Enhanced) (Level AAA)
2.4.11 Focus Not Obscured (Minimum) (AA)
New in WCAG 2.2
When a user interface component receives keyboard focus, the
component is not entirely hidden due to author-created content.
“
classic example: sticky header …
this passes 2.4.11 Focus Not Obscured (Minimum) (AA)
but how far can we take the "not entirely hidden" aspect?
arguably … not entirely hidden
(some disagree whether or not focus indicator is part of the user interface component)
1.4.1 Use of Color (A)
Color is not used as the only visual means of
conveying information , indicating an action, prompting a
response, or distinguishing a visual element.
“
if your focus indication just changes colour, 1.4.1 likely applies
If content is conveyed through the use of colors that differ not only
in their hue, but that also have a significant difference in lightness,
then this counts as an additional visual distinction, as long as the
difference in relative luminance between the colors leads to a
contrast ratio of 3:1 or greater.
used to be buried in technique F73, now in understanding for 1.4.1 (#1500)
“
beware: if you look hard enough, everything is a use of color .
is it essential for conveying information or just eye candy?
SCs that are overly specific …
and then end up only applying to very specific cases
1.4.10 Reflow (AA)
Content can be presented without loss of information or
functionality, and without requiring scrolling in two dimensions for:
▪ Vertical scrolling content at a width equivalent to 320 CSS pixels
▪ Horizontal scrolling content at a height equivalent to 256 CSS
pixels
[…]
to help low vision users. should ideally have been "use responsive design"
instead, it was watered down to 400% zoom on a 1280×1024 display …
and now only normatively applies at those exact values
“
1.4.12 Text Spacing (AA)
In content implemented using markup languages that support the
following text style properties, no loss of content or functionality
occurs by setting all of the following […]:
▪ Line height (line spacing) to at least 1.5 times the font size
▪ Spacing following paragraphs to at least 2 times the font size
▪ Letter spacing (tracking) to at least 0.12 times the font size
▪ Word spacing to at least 0.16 times the font size
[…]
only those exact values and over
do you test the "at least" part here, and up to which values?
what if user changes just a few (e.g. just letter spacing)
“
this bookmarklet didn't work to change text styles … can I fail this?
no you can't … the SC doesn't care if a user can or can't change the
metrics, or if a particular bookmarklet or method doesn't work.
only that if the metrics are indeed changed, then content doesn't become
unreadable or unusable.
Understanding 1.4.12: clarify the intent and author responsibility #1687
“
3.3.8 Accessible Authentication (Minimum)
(AA)
New in WCAG 2.2
A cognitive function test (such as remembering a password or
solving a puzzle) is not required for any step
in an authentication process […]
“
what counts as an authentication process …
SCs that are confusingly titled
2.5.8 Target Size (Minimum) (AA)
New in WCAG 2.2
The size of the target for pointer inputs is at least 24 by 24 CSS
pixels […]
at first glance, the SC defines a minimum target size (it says so in the title)
“
2.5.8 Target Size (Minimum) (AA)
New in WCAG 2.2
The size of the target for pointer inputs is at least 24 by 24 CSS
pixels except where:
▪ Spacing: Undersized targets (those less than 24 by 24 CSS pixels)
are positioned so that if a 24 CSS pixel diameter circle is centered
on the bounding box of each, the circles do not intersect another
target or the circle for another undersized target
…
the first exception turns this into Target Spacing (Minimum)
“
no target too small – as long as it has spacing
3.2.6 Consistent Help (A)
New in WCAG 2.2
If a Web page contains any of the following help mechanisms, and
those mechanisms are repeated on multiple Web pages within a
set of Web pages, they occur in
the same order relative to other page content , unless a change
is initiated by the user […]:
the understanding document goes in depth listing and explaining help
mechanisms, but the SC doesn't actually require any help mechanisms to
be present at all …
“
relative order here means just means a consistent "focus/reading order"
"If the help item is visually in a different location, but in the same
serial order, that is not helpful from a user's point of view, but it
would not fail this criterion."
“
even after years of auditing,
I sometimes have weird
moments of realisation
seeing SCs, and what they say/apply to, in a new light
same discussions about
applicability and interpretation
even happen within the AGWG
WCAG success criteria need to
be testable … but this doesn't
allow for nuance
WCAG SCs are binary
you either
pass or fail
sometimes the values/thresholds are just arbitrary lines in the sand …
no weighting given to impact or
frequency of a particular fail,
or how bad a failure is off the
mark
sometime, you just want to say something's a minor or
soft fail , but distinction doesn't exist
fail a single SC and you can't
really claim to be conformant
loopholes , omissions and
subjective requirements can
and will be exploited
auditors aren't the only ones who try to find these gaps …
… so what do we do then?
join my WCAG Trash Panda Web Ring
github.com/w3c/wcag/issues?q=is%3Aopen%20patrickhlauke
to look for discussions and pending clarifications
frustration: most efforts has been going towards new WCAG 2.2 SCs
rather than fixing what's broken in 2.0/2.1
w3.org/TR/wcag-3.0 … but still very early days
and it will be quite some time before legislation references 3.0 once it's actually a ratified recommendation …
but in the meantime …
don't creatively reinterpret
what an SC says
to fit your agenda
whether you're a developer or an auditor doing an evaluation
“but unless it's reported as a
WCAG failure
the client won't change it”
then you have more fundamental problem …
as auditor, you do your client a
disservice by not making clear
what is and isn't a
normative failure
what happens when a clued-up client rightly challenges your
claim? all your other results lose credibility!
be conservative in your
pass / fail assessments
document your hesitation, clearly state when something's
"more of a suggestion" than a hard failure
@patrick_h_lauke@mastodon.social
github.com/patrickhlauke
tetralogical.com

More Related Content

Similar to These (still) aren't the SCs you're looking for ... (mis)adventures in WCAG 2.x interpretation and audits / #a11yTO / 19 October 2023

UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
Dang Tuan
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Dang Tuan
 
01 Persistence And Orm
01 Persistence And Orm01 Persistence And Orm
01 Persistence And Orm
Ranjan Kumar
 

Similar to These (still) aren't the SCs you're looking for ... (mis)adventures in WCAG 2.x interpretation and audits / #a11yTO / 19 October 2023 (20)

BPMN Primer (Razvan Radulian, ASPE Webinar, 2013)
BPMN Primer (Razvan Radulian, ASPE Webinar, 2013)BPMN Primer (Razvan Radulian, ASPE Webinar, 2013)
BPMN Primer (Razvan Radulian, ASPE Webinar, 2013)
 
CSUN 2018 Analyzing and Extending WCAG Beyond 3 Digits
CSUN 2018 Analyzing and Extending WCAG Beyond 3 DigitsCSUN 2018 Analyzing and Extending WCAG Beyond 3 Digits
CSUN 2018 Analyzing and Extending WCAG Beyond 3 Digits
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
 
Creating Acessible floating labels
Creating Acessible floating labelsCreating Acessible floating labels
Creating Acessible floating labels
 
Oo aand d-overview
Oo aand d-overviewOo aand d-overview
Oo aand d-overview
 
Sql basics
Sql basicsSql basics
Sql basics
 
Too much accessibility - good intentions, badly implemented / Public Sector F...
Too much accessibility - good intentions, badly implemented / Public Sector F...Too much accessibility - good intentions, badly implemented / Public Sector F...
Too much accessibility - good intentions, badly implemented / Public Sector F...
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
[0201699613]visual modeling with rational rose 2000 and uml
[0201699613]visual modeling with rational rose 2000 and uml[0201699613]visual modeling with rational rose 2000 and uml
[0201699613]visual modeling with rational rose 2000 and uml
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 
01 Persistence And Orm
01 Persistence And Orm01 Persistence And Orm
01 Persistence And Orm
 
Accessibility patterns testable requirements during early design
Accessibility patterns testable requirements during early designAccessibility patterns testable requirements during early design
Accessibility patterns testable requirements during early design
 
OOUX + API design: Love at first "site"
OOUX + API design: Love at first "site"OOUX + API design: Love at first "site"
OOUX + API design: Love at first "site"
 
Practical A11y testing for surveys
Practical A11y testing for surveysPractical A11y testing for surveys
Practical A11y testing for surveys
 
Unit 2
Unit 2Unit 2
Unit 2
 
AOL Black Voices Review Oct2008
AOL Black Voices Review Oct2008AOL Black Voices Review Oct2008
AOL Black Voices Review Oct2008
 
A
AA
A
 
Synopsis
SynopsisSynopsis
Synopsis
 
ER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdfER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdf
 

More from Patrick Lauke

More from Patrick Lauke (20)

Pointer Events Working Group update / TPAC 2023 / Patrick H. Lauke
Pointer Events Working Group update / TPAC 2023 / Patrick H. LaukePointer Events Working Group update / TPAC 2023 / Patrick H. Lauke
Pointer Events Working Group update / TPAC 2023 / Patrick H. Lauke
 
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
Styling Your Web Pages with Cascading Style Sheets / EDU course / University ...
 
Evaluating web sites for accessibility with Firefox / Manchester Digital Acce...
Evaluating web sites for accessibility with Firefox / Manchester Digital Acce...Evaluating web sites for accessibility with Firefox / Manchester Digital Acce...
Evaluating web sites for accessibility with Firefox / Manchester Digital Acce...
 
Managing and educating content editors - experiences and ideas from the trenc...
Managing and educating content editors - experiences and ideas from the trenc...Managing and educating content editors - experiences and ideas from the trenc...
Managing and educating content editors - experiences and ideas from the trenc...
 
Implementing Web Standards across the institution: trials and tribulations of...
Implementing Web Standards across the institution: trials and tribulations of...Implementing Web Standards across the institution: trials and tribulations of...
Implementing Web Standards across the institution: trials and tribulations of...
 
Geolinking content - experiments in connecting virtual and physical places / ...
Geolinking content - experiments in connecting virtual and physical places / ...Geolinking content - experiments in connecting virtual and physical places / ...
Geolinking content - experiments in connecting virtual and physical places / ...
 
All change for WCAG 2.0 - what you need to know about the new accessibility g...
All change for WCAG 2.0 - what you need to know about the new accessibility g...All change for WCAG 2.0 - what you need to know about the new accessibility g...
All change for WCAG 2.0 - what you need to know about the new accessibility g...
 
Web Accessibility - an introduction / Salford Business School briefing / Univ...
Web Accessibility - an introduction / Salford Business School briefing / Univ...Web Accessibility - an introduction / Salford Business School briefing / Univ...
Web Accessibility - an introduction / Salford Business School briefing / Univ...
 
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Doing it in style - creating beautiful sites, the web standards way / WebDD /...Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
 
Web standards pragmatism - from validation to the real world / Web Developers...
Web standards pragmatism - from validation to the real world / Web Developers...Web standards pragmatism - from validation to the real world / Web Developers...
Web standards pragmatism - from validation to the real world / Web Developers...
 
Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any w...
Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any w...Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any w...
Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any w...
 
The state of the web - www.salford.ac.uk / 2007
The state of the web - www.salford.ac.uk / 2007The state of the web - www.salford.ac.uk / 2007
The state of the web - www.salford.ac.uk / 2007
 
Keyboard accessibility - just because I don't use a mouse doesn't mean I'm se...
Keyboard accessibility - just because I don't use a mouse doesn't mean I'm se...Keyboard accessibility - just because I don't use a mouse doesn't mean I'm se...
Keyboard accessibility - just because I don't use a mouse doesn't mean I'm se...
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
 
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...Getting touchy - an introduction to touch and pointer events / Frontend NE / ...
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...
 
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
Getting touchy - an introduction to touch and pointer events (1 day workshop)...Getting touchy - an introduction to touch and pointer events (1 day workshop)...
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
 
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
 
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
Getting touchy - an introduction to touch and pointer events (1 day workshop)...Getting touchy - an introduction to touch and pointer events (1 day workshop)...
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
 
Getting touchy - an introduction to touch and pointer events / Smashing Confe...
Getting touchy - an introduction to touch and pointer events / Smashing Confe...Getting touchy - an introduction to touch and pointer events / Smashing Confe...
Getting touchy - an introduction to touch and pointer events / Smashing Confe...
 
Getting touchy - an introduction to touch and pointer events (complete master...
Getting touchy - an introduction to touch and pointer events (complete master...Getting touchy - an introduction to touch and pointer events (complete master...
Getting touchy - an introduction to touch and pointer events (complete master...
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 

These (still) aren't the SCs you're looking for ... (mis)adventures in WCAG 2.x interpretation and audits / #a11yTO / 19 October 2023

  • 1. These (still) aren't the SCs you're looking for … (mis)adventures in WCAG 2.x interpretation and audits Patrick H. Lauke / a11yTO / 19 October 2023
  • 2. about me … ▪ principal accessibility specialist at TetraLogical ▪ previously at The Paciello Group (now TPGi) ▪ occasional W3C AGWG member ▪ WCAG trash panda
  • 3. déjà vu? you may have already seen an earlier version of this talk … even years later, the same question still bubbles up (on mailing lists, a11ySlack, mastodon, …)
  • 4. “which success criterion can I fail this under?”
  • 5.
  • 6. far too often, auditors clearly dislike something, and look for a justification to fail it … and I get it … sometimes it's just to show how smart we are
  • 7. overstep the boundaries of WCAG SCs claim something has to be fixed/changed "to pass WCAG" when it normatively doesn't
  • 8.
  • 9. we are not lawyers (or judges) but our audits and evaluations often have some legal dimension to them. ▪ evaluations should be as objective as possible ▪ evaluations should be consistent … of course, this is easier said than done
  • 10. WCAG is built on the idea that success criteria can be evaluated clearly, unambiguously and consistently… … but that's not always the case
  • 11. with WCAG 2.2 we now have 9 more SCs! … just more potential for confusion and misinterpretation?
  • 12. only a few cherry-picked examples but there's more where that came from…
  • 13. WCAG success criteria are often misunderstood and/or misinterpreted leads to wrong, or at least inconsistent, error reporting
  • 14.
  • 15. 2.4.6 Headings and Labels (AA) Headings and labels describe topic or purpose. this doesn't mandate the use of headings and labels … only that if a page uses headings and labels, they must be descriptive. it also doesn't mandate that headings and labels be correctly marked-up - that's the job of 1.3.1 Info and Relationships and (where it affects "accessible name" of controls) 4.1.2 Name, Role, Value . lastly, if labels aren't there, it's a 3.3.2 Labels or Instructions problem. “
  • 16. <p class="heading1">More information</p> ▪ passes 2.4.6 Headings and Labels ▪ fails 1.3.1 Info and Relationships
  • 17. 3.3.2 Labels or Instructions (A) Labels or instructions are provided when content requires user input. again, this doesn't mandate that labels be marked-up as <label> and properly associated with form controls - that's covered by 1.3.1 Info and Relationships and (where it affects "accessible name" of controls) 4.1.2 Name, Role, Value . “
  • 18. <input type="text"> ▪ passes 2.4.6 Headings and Labels ▪ fails 3.3.2 Labels or Instructions ▪ fails 4.1.2 Name, Role, Value
  • 19. <p>First name</p> <input type="text"> ▪ passes 2.4.6 Headings and Labels ▪ passes 3.3.2 Labels or Instructions ▪ fails 1.3.1 Info and Relationships ▪ fails 2.5.3 Label in Name ▪ fails 4.1.2 Name, Role, Value
  • 20. <p>First name</p> <input type="text" aria-label="First name" > ▪ passes 2.4.6 Headings and Labels ▪ passes 3.3.2 Labels or Instructions ▪ passes 2.5.3 Label in Name ▪ passes 4.1.2 Name, Role, Value ▪ passes (arguably) 1.3.1 Info and Relationships
  • 21. 2.1.1 Keyboard (A) All functionality of the content is operable through a keyboard interface […] doesn't say anything about which keys are needed to operate controls/functionality “
  • 22. <a href="#" onclick="…" role="button">fake button</a> ▪ passes 2.1.1 Keyboard even though it doesn't respond to SPACE like real button would
  • 23. <a href="#" role="button">Activate using 'b'</a> .addEventListener('keypress', function(e) { if (e.key == 'b') { /* do something */ } }) ▪ passes 2.1.1 Keyboard even though it can only be triggered using the letter b
  • 24. 1.3.3 Sensory Characteristics (A) Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, color, size, visual location, orientation, or sound. this only relates specifically to instructions … and not whether or not sensory characteristics are used for content - this is covered by other SCs, like 1.4.1 Use of Color or even 1.1.1 Non-Text Content . Fixes for Understanding 1.3.3 Sensory Characteristics #767 “
  • 25. example: buttons with shapes or colours ▪ fail 1.1.1 Non-text Content (if there's no hidden text / accessible name) ▪ fail 1.4.1 Use of Color for the second set ▪ fail 4.1.2 Name, Role, Value (if there's no accessible name) ▪ pass 1.3.3 Sensory Characteristics as there are no instructions
  • 26. example: buttons with shapes or colours ▪ fail 1.1.1 Non-text Content (if there's no hidden text / accessible name) ▪ fail 1.4.1 Use of Color for the second set ▪ fail 4.1.2 Name, Role, Value (if there's no accessible name) ▪ fail 1.3.3 Sensory Characteristics as there are instructions
  • 27. SCs that are interpreted as their opposites
  • 28. 1.4.1 Use of Color (A) Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. both lines contain a link. but only in the first line is colour used. the first cases fails 1.4.1 Use of Color, but the second passes auditors pondering failing the previous example for not using colour … “
  • 29. 1.3.1 Info and Relationships (A) Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. auditors pondering failing the previous example for not conveying things through presentation … “
  • 30. SCs are non-commutative ("if X, then Y" does not mean "if Y, then X")
  • 31. WCAG success criteria and cascades of fail …
  • 32. cascade of fail <a href="…"> <img src="…"> </a> fails multiple criteria , in sequence: ▪ the image itself fails 1.1.1 Non-text content ▪ as a result, link lacks accessible name and fails 4.1.2 Name, Role, Value ▪ arguably, link also fails 2.4.4 Link Purpose (In Context) need consistency in how this is reported
  • 34. 3.1.1 Language of Page (A) The default human language of each Web page can be programmatically determined. 3.1.2 Language of Parts (AA) The human language of each passage or phrase in the content can be programmatically determined […] if you can't determine the language of the page, then you also can't determine the language of each passage or phrase. fail one, and you automatically fail the other … “ “
  • 35. minimum and enhanced ▪ 1.4.3 Contrast (Minimum) → 1.4.6 Contrast (Enhanced) ▪ 2.4.11 Focus Not Obscured (Minimum) → 2.4.12 Focus Not Obscured (Enhanced) ▪ 2.5.8 Target Size (Minimum) → 2.5.5 Target Size (Enhanced) ▪ 3.3.8 Accessible Authentication (Minimum) → 3.3.9 Accessible Authentication (Enhanced) fail one, and you automatically fail the other … need consistency in how this is reported (if you care about AAA)
  • 36. auditor education / consistency problems … internal training and resources can help
  • 37. more problematic are issues caused by WCAG SCs that are vague , incomplete or otherwise lacking
  • 38. WCAG 2.x is not perfect written by well-meaning, but fallible humans …
  • 39. WCAG success criteria can be subjective …
  • 40. subjective interpretation? ▪ 1.1.1 All non-text content […] has a text alternative that serves the equivalent purpose - but what's the purpose? ▪ 1.2.2 Captions are provided … - but do these captions need to be exact, identify speakers, etc.? ▪ 1.3.1 Information, structure, and relationships conveyed through presentation […] - where do you draw the line? ▪ 2.4.6 Headings and labels describe topic or purpose - what's "descriptive" exactly?
  • 41. what is a list? <a href="/">home</a> <a href="…">products</a> <a href="…">contact</a> do you fail 1.3.1 Info and Relationships because they didn't wrap this in a <ul> , even if this isn't conveyed through presentation ? if you look hard enough, it's lists all the way down turtles
  • 42. WCAG has a few strange omissions , ambiguities , exemptions …
  • 43. 2.4.4 Link Purpose (In Context) (AA) The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context […] what counts as "programmatically determined link context"? do preceding headings count? “
  • 44. "I think what the founding fathers/mothers of WCAG meant to say …"
  • 45.
  • 46. understanding documents and techniques try to clarify … normative versus non-normative
  • 47. understanding / techniques can't provide examples of all possible scenarios
  • 48. beyond the need for subjective interpretation WCAG success criteria can have odd loopholes …
  • 49. 2.4.7 Focus Visible (AA) Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible. but what does visible mean? it's not normatively defined… “
  • 50. a single extra pixel shown on focus is arguably visible
  • 51. WCAG 2.1 decided not to modify 2.0 SCs, patched loopholes with more SCs but these new SCs also ended up having some loopholes
  • 52. 1.4.11 Non-text Contrast (AA) The visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): ▪ User Interface Components: Visual information required to identify user interface components and states […] ▪ Graphical Objects: […] “
  • 53. much better … that pixel has a 3:1 contrast ratio now
  • 54. … but we'll fix focus WCAG 2.2? 2.4.11 Focus Appearance (Minimum) (Level AA) 2.4.12 Focus Appearance (Enhanced) (Level AAA)
  • 55. … but we'll fix focus WCAG 2.2! 2.4.13 Focus Appearance (Level AAA) Only at Level AAA … where success criteria go to die … 2.4.11 Focus Appearance (Minimum) (Level AA) 2.4.12 Focus Appearance (Enhanced) (Level AAA)
  • 56. 2.4.11 Focus Not Obscured (Minimum) (AA) New in WCAG 2.2 When a user interface component receives keyboard focus, the component is not entirely hidden due to author-created content. “
  • 57. classic example: sticky header … this passes 2.4.11 Focus Not Obscured (Minimum) (AA) but how far can we take the "not entirely hidden" aspect?
  • 58. arguably … not entirely hidden (some disagree whether or not focus indicator is part of the user interface component)
  • 59. 1.4.1 Use of Color (A) Color is not used as the only visual means of conveying information , indicating an action, prompting a response, or distinguishing a visual element. “
  • 60. if your focus indication just changes colour, 1.4.1 likely applies If content is conveyed through the use of colors that differ not only in their hue, but that also have a significant difference in lightness, then this counts as an additional visual distinction, as long as the difference in relative luminance between the colors leads to a contrast ratio of 3:1 or greater. used to be buried in technique F73, now in understanding for 1.4.1 (#1500) “
  • 61. beware: if you look hard enough, everything is a use of color . is it essential for conveying information or just eye candy?
  • 62.
  • 63. SCs that are overly specific … and then end up only applying to very specific cases
  • 64. 1.4.10 Reflow (AA) Content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: ▪ Vertical scrolling content at a width equivalent to 320 CSS pixels ▪ Horizontal scrolling content at a height equivalent to 256 CSS pixels […] to help low vision users. should ideally have been "use responsive design" instead, it was watered down to 400% zoom on a 1280×1024 display … and now only normatively applies at those exact values “
  • 65. 1.4.12 Text Spacing (AA) In content implemented using markup languages that support the following text style properties, no loss of content or functionality occurs by setting all of the following […]: ▪ Line height (line spacing) to at least 1.5 times the font size ▪ Spacing following paragraphs to at least 2 times the font size ▪ Letter spacing (tracking) to at least 0.12 times the font size ▪ Word spacing to at least 0.16 times the font size […] only those exact values and over do you test the "at least" part here, and up to which values? what if user changes just a few (e.g. just letter spacing) “
  • 66. this bookmarklet didn't work to change text styles … can I fail this? no you can't … the SC doesn't care if a user can or can't change the metrics, or if a particular bookmarklet or method doesn't work. only that if the metrics are indeed changed, then content doesn't become unreadable or unusable. Understanding 1.4.12: clarify the intent and author responsibility #1687 “
  • 67. 3.3.8 Accessible Authentication (Minimum) (AA) New in WCAG 2.2 A cognitive function test (such as remembering a password or solving a puzzle) is not required for any step in an authentication process […] “
  • 68. what counts as an authentication process …
  • 69. SCs that are confusingly titled
  • 70. 2.5.8 Target Size (Minimum) (AA) New in WCAG 2.2 The size of the target for pointer inputs is at least 24 by 24 CSS pixels […] at first glance, the SC defines a minimum target size (it says so in the title) “
  • 71. 2.5.8 Target Size (Minimum) (AA) New in WCAG 2.2 The size of the target for pointer inputs is at least 24 by 24 CSS pixels except where: ▪ Spacing: Undersized targets (those less than 24 by 24 CSS pixels) are positioned so that if a 24 CSS pixel diameter circle is centered on the bounding box of each, the circles do not intersect another target or the circle for another undersized target … the first exception turns this into Target Spacing (Minimum) “
  • 72. no target too small – as long as it has spacing
  • 73. 3.2.6 Consistent Help (A) New in WCAG 2.2 If a Web page contains any of the following help mechanisms, and those mechanisms are repeated on multiple Web pages within a set of Web pages, they occur in the same order relative to other page content , unless a change is initiated by the user […]: the understanding document goes in depth listing and explaining help mechanisms, but the SC doesn't actually require any help mechanisms to be present at all … “
  • 74. relative order here means just means a consistent "focus/reading order" "If the help item is visually in a different location, but in the same serial order, that is not helpful from a user's point of view, but it would not fail this criterion." “
  • 75.
  • 76. even after years of auditing, I sometimes have weird moments of realisation seeing SCs, and what they say/apply to, in a new light
  • 77.
  • 78. same discussions about applicability and interpretation even happen within the AGWG
  • 79. WCAG success criteria need to be testable … but this doesn't allow for nuance
  • 80. WCAG SCs are binary you either pass or fail
  • 81. sometimes the values/thresholds are just arbitrary lines in the sand …
  • 82. no weighting given to impact or frequency of a particular fail, or how bad a failure is off the mark sometime, you just want to say something's a minor or soft fail , but distinction doesn't exist
  • 83. fail a single SC and you can't really claim to be conformant
  • 84. loopholes , omissions and subjective requirements can and will be exploited auditors aren't the only ones who try to find these gaps …
  • 85.
  • 86. … so what do we do then?
  • 87.
  • 88. join my WCAG Trash Panda Web Ring github.com/w3c/wcag/issues?q=is%3Aopen%20patrickhlauke to look for discussions and pending clarifications
  • 89. frustration: most efforts has been going towards new WCAG 2.2 SCs rather than fixing what's broken in 2.0/2.1
  • 90. w3.org/TR/wcag-3.0 … but still very early days and it will be quite some time before legislation references 3.0 once it's actually a ratified recommendation …
  • 91. but in the meantime …
  • 92. don't creatively reinterpret what an SC says to fit your agenda whether you're a developer or an auditor doing an evaluation
  • 93.
  • 94. “but unless it's reported as a WCAG failure the client won't change it” then you have more fundamental problem …
  • 95. as auditor, you do your client a disservice by not making clear what is and isn't a normative failure what happens when a clued-up client rightly challenges your claim? all your other results lose credibility!
  • 96. be conservative in your pass / fail assessments document your hesitation, clearly state when something's "more of a suggestion" than a hard failure