Deceptive Patterns and FAST

A presentation at CodeMash 2023 in January 2023 in Sandusky, OH 44870, USA by Todd Libby

Slide 1

Slide 1

Deceptive Patterns and FAST Framework for Accessible Speci cations of Technologies CodeMash 2023 fi Todd Libby - 19 January, 2023

Slide 2

Slide 2

Todd Libby • • • • • • Senior Accessibility Engineer W3C Invited Expert Accessibility Advocate Phoenix, Arizona 42 years experience 24 years professionally Todd Libby - 19 January, 2023 CodeMash 2023

Slide 3

Slide 3

#CodeMash2023 #DeveloperCommunity #Accessibility Todd Libby - 19 January, 2023 CodeMash 2023

Slide 4

Slide 4

Thank You! Todd Libby - 19 January, 2023 CodeMash 2023

Slide 5

Slide 5

Todd Libby - 19 January, 2023 CodeMash 2023

Slide 6

Slide 6

What is FAST? Todd Libby - 19 January, 2023 CodeMash 2023

Slide 7

Slide 7

The Framework for Accessible Speci cation of Technologies (FAST) advises creators of technical speci cations how to ensure their technology meets the needs of people with disabilities. fi CodeMash 2023 fi Todd Libby - 19 January, 2023

Slide 8

Slide 8

Goals of FAST Todd Libby - 19 January, 2023 CodeMash 2023

Slide 9

Slide 9

FAST was originally designed for internal accessibility spec review at the W3C. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 10

Slide 10

WCAG WAI-ARIA ATAG (Authoring Tool Accessibility Guidelines) UAAG (User Agent Accessibility Guidelines) ACCG (Accessibility for Children Community Group) Todd Libby - 19 January, 2023 CodeMash 2023

Slide 11

Slide 11

User & Functional Needs Todd Libby - 19 January, 2023 CodeMash 2023

Slide 12

Slide 12

User need: A high-level accessibility characteristic of content and/or a user interface that is necessary for users to complete an objective. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 13

Slide 13

Functional need: A statement that describes a speci c gap in one’s ability, or a speci c mismatch between ability and the designed environment or context. fi CodeMash 2023 fi Todd Libby - 19 January, 2023

Slide 14

Slide 14

3 Stages of FAST Todd Libby - 19 January, 2023 CodeMash 2023

Slide 15

Slide 15

FAST Approach Three stages • Inventory functional and user needs; • Identify ways to meet needs; • Develop technology guidelines. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 16

Slide 16

FAST Approach Stage One • Many user needs are well-known; • Documented in multiple places; • Collected and related to each other; • Arrive at a single set of user needs. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 17

Slide 17

FAST Approach Stage Two • Technology features; • Author implementation; • User agent support. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 18

Slide 18

FAST Approach Stage Three • If the author must implement something… • If the user need is met by design… • If the user need is met by user agents… Todd Libby - 19 January, 2023 CodeMash 2023

Slide 19

Slide 19

“Dark” Patterns Todd Libby - 19 January, 2023 CodeMash 2023

Slide 20

Slide 20

“Dark” Patterns Todd Libby - 19 January, 2023 CodeMash 2023

Slide 21

Slide 21

Connotation and Inclusion Todd Libby - 19 January, 2023 CodeMash 2023

Slide 22

Slide 22

Black/Dark - Evil, disgrace, vile, immoral White/Light - Purity, good, innocence, cleanliness Todd Libby - 19 January, 2023 CodeMash 2023

Slide 23

Slide 23

Deceptive Patterns or Anti-patterns Todd Libby - 19 January, 2023 CodeMash 2023

Slide 24

Slide 24

“A deceptive pattern is a deliberate anti-pattern designed to confuse or deceive a user. There is a difference between poor design and unintentional blockers for users.” Functional Needs Subgroup Todd Libby - 19 January, 2023 CodeMash 2023

Slide 25

Slide 25

“A deceptive pattern is where there is a deliberate attempt to aim or force a user down a particular path or to trap attention in a way that redirects or focuses on a goal, that the user either doesn’t want or need or maybe harmful to them.” Functional Needs Subgroup Todd Libby - 19 January, 2023 CodeMash 2023

Slide 26

Slide 26

Deceptive Pattern: Deliberate. With intent Anti-pattern: No intent but harmful/bad UX Todd Libby - 19 January, 2023 CodeMash 2023

Slide 27

Slide 27

Solving User Needs Todd Libby - 19 January, 2023 CodeMash 2023

Slide 28

Slide 28

Makes Web pages more accessible and usable, less harmful to people with disabilities and neurodivergent users, and creates friendlier and safer user experiences for everyone. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 29

Slide 29

Barriers & Categories Todd Libby - 19 January, 2023 CodeMash 2023

Slide 30

Slide 30

Deceptive Patterns Categories of barriers • Annoying / Unwanted (Unexpected) • Not using a ordances • Vestibular • Not activated / Not controlled by user • Indicators • Unwanted content / advertising / without user knowledge ff Todd Libby - 19 January, 2023 CodeMash 2023

Slide 31

Slide 31

Deceptive Patterns Categories of barriers • Wording • Consistency (A ordances) • Adjustability / ow blockers • (Time) Pressure • Invasive ff fl Todd Libby - 19 January, 2023 CodeMash 2023

Slide 32

Slide 32

Deceptive Patterns Examples of patterns/anti-patterns • Trick questions; • In nite scroll; • Copy and paste is disabled; • Timers; • Asking the user to enable features (microphone, camera, etc.). fi Todd Libby - 19 January, 2023 CodeMash 2023

Slide 33

Slide 33

Unsubscribing Anti-pattern • Confusion? • Intent / No Intent? • Deceitful? • Accessibility?

Slide 34

Slide 34

Preferences Deceptive Pattern • Confusion? • Intent / No Intent? • Deceitful?

Slide 35

Slide 35

Preferences Anti-pattern • Confusion? • Intent / No Intent? • Deceitful? • Accessibility?

Slide 36

Slide 36

Preferences Anti-pattern • Confusion? • Intent / No Intent? • Deceitful? • Accessibility?

Slide 37

Slide 37

Slide 38

Slide 38

Any current gap in the WCAG guidelines we want to address through FAST and Deceptive Patterns. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 39

Slide 39

The most important part about bringing Deceptive Patterns to WAI / WCAG 3 is to reduce harm to those who are affected. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 40

Slide 40

People can use without physical harm or risk (to self or others within a physical environment). Todd Libby - 19 January, 2023 CodeMash 2023

Slide 41

Slide 41

Ways to Meet User Needs Todd Libby - 19 January, 2023 CodeMash 2023

Slide 42

Slide 42

How to meet user needs: • • Author design & technical implementation • Assistive technology support (including accessibility API mediation) User agent accessibility support of standard & authorimplemented features Todd Libby - 19 January, 2023 CodeMash 2023

Slide 43

Slide 43

User needs need to be analyzed for how they can be met. Todd Libby - 19 January, 2023 CodeMash 2023

Slide 44

Slide 44

But… Todd Libby - 19 January, 2023 CodeMash 2023

Slide 45

Slide 45

What about large companies like Meta, Twitter, Google, etc.? How will you get them to change? Todd Libby - 19 January, 2023 CodeMash 2023

Slide 46

Slide 46

Ethical Web Principles Todd Libby - 19 January, 2023 CodeMash 2023

Slide 47

Slide 47

• W3C TAG Ethical Web Principles • The web should be a platform that helps people and provides a positive social bene t • Ethical Principles for Web Machine Learning • This document discusses ethical issues associates with using Machine Learning and outlines considerations for web technologies that enable related use cases fi Todd Libby - 19 January, 2023 CodeMash 2023

Slide 48

Slide 48

Acknowledgments Todd Libby - 19 January, 2023 CodeMash 2023

Slide 49

Slide 49

• Jake Abma (Invited Expert) • Joshue O Connor (Invited Expert) • Michael Cooper (W3C/MIT) • Charles Hall (Invited Expert) Todd Libby - 19 January, 2023 CodeMash 2023

Slide 50

Slide 50

https://toddl.dev/slides https://raw.githack.com/w3c/fast/restructurefunctional-and-user-needs/index.html https://www.w3.org/TR/ethical-web-principles/ https://www.w3.org/TR/webmachinelearning-ethics/ Todd Libby - 19 January, 2023 CodeMash 2023

Slide 51

Slide 51

Twitter: @toddlibby Mastodon: a11y.info/@todd LinkedIn: linkedin.com/in/todd-libby Website: https://toddl.dev Todd Libby - 19 January, 2023 CodeMash 2023

Slide 52

Slide 52

Questions? Todd Libby - 19 January, 2023 CodeMash 2023

Slide 53

Slide 53

Thank you! Todd Libby - 19 January, 2023 CodeMash 2023