Deceptive Patterns and FAST

A presentation at Modern Frontends Live! in November 2022 in London, UK by Todd Libby

Slide 1

Slide 1

Deceptive Patterns and FAST Framework for Accessible Specifications of Technologies @toddlibby - Modern Frontends Live! Todd Libby - 18 November, 2022

Slide 2

Slide 2

Todd Libby • Senior Accessibility Engineer • W3C Invited Expert • ~23 years professionally • Accessibility Advocate • Phoenix, Arizona • Unrestricted Free Agent Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 3

Slide 3

#ModernFrontendsLive #ModernFrontends2022 #DeveloperCommunity #Accessibility Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 4

Slide 4

Thank You! Todd Libby - 18 November, 2022 @toddlibby Modern Frontends Live!

Slide 5

Slide 5

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 6

Slide 6

What is FAST? Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 7

Slide 7

The Framework for Accessible Specification of Technologies (FAST) advises creators of technical specifications how to ensure their technology meets the needs of people with disabilities.

@toddlibby - Modern Frontends Live! Todd Libby - 18 November, 2022

Slide 8

Slide 8

The primary audience of FAST are creators of Web technologies (e.g., content and presentational technologies like HTML, CSS, PDF, audio/video formats, etc.) Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 9

Slide 9

Goals of FAST Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 10

Slide 10

FAST was originally designed for internal accessibility spec review at the W3C. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 11

Slide 11

The goal of FAST is to provide a potential source of guidelines for Web technology accessibility. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 12

Slide 12

They relate to other guidelines and documentation to provide additional information and rationale for the requirement. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 13

Slide 13

To help ensure that web technologies meet the needs of people with disabilities, which involves three stages. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 14

Slide 14

3 Stages of FAST Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 15

Slide 15

FAST Approach Three stages • Inventory functional and user needs; • Identify ways to meet needs; • Develop technology guidelines. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 16

Slide 16

FAST Approach Stage one • Inventory known functional and user needs. • Many user needs affecting Web content accessibility are well known and documented in many places. • These needs are collected and related to each other in order to arrive at a single set of known needs.

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 17

Slide 17

Functional Needs Definition

A functional need is a statement that describes a specific gap in one’s ability, or a specific mismatch between ability and the designed environment or context.

An intersectional functional need results from an individual having more than one functional need simultaneously in a given context.

A functional ability is a notional measure of a person’s abilities that may need technological support or augmentation to be able to complete a particular task.

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 18

Slide 18

Functional Needs Categories/Sub-categories • Safety - No sub-categories (yet?); • Sensory - Vision & Visual, Hearing & Auditory, Sensory Interactions; • Physical - Mobility, Motor, Physical & Sensory Intersections, Speech; • Cognitive - Attention, Language & Communication, Learning, memory, Executive, Mental Health, Cognitive & Sensory Intersections; • Independence - Independence Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 19

Slide 19

User Needs Definition

A user need is a high level accessibility characteristic of content and/or a user interface that is necessary for users to complete an objective.

In this model, user needs are not accessibility specific. User needs are generic requirements of content for its features to be usable by humans.

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 20

Slide 20

User Needs Categories/Sub-categories • Perceivable - Provide consistent content, Reveal changed content; • Operable - Provide consistent interactions, Allow adjustable content; • Understandable - Make appearance understandable, Provide help and instructions, Make position and orientation clear, make discoverable; • Personalization - Customization, Preferences; • Deceptive Patterns - Distractions and Interruptions, No Harm. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 21

Slide 21

FAST Approach Stage two • Identify ways these needs can be met. There are three high-level ways user needs can be met: • Technology features; • Author implementation; • User agent support. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 22

Slide 22

Meeting Needs Identifying ways to meet needs

These are not exclusive categories. A given user need could be met by more than one of these categories.

Some needs can be met with present technology only via one of these routes.

All of these ways of meeting user needs are identified, along with their relationships to each other.

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 23

Slide 23

FAST Approach Stage three • From the analyses, it should also be easy to see where content technology features are required to make it possible to meet user needs. For example: Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 24

Slide 24

• If the author must implement something, the technology must provide a feature for the author to implement. • If the user need is met by design, the technology must provide suitably rich design capabilities. • If the user need is met by user agents, the technology must provide a sufficiently rich definition of the object for user agents to implement.

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 25

Slide 25

“Dark” Patterns Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 26

Slide 26

“Dark” Patterns Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 27

Slide 27

Connotation and Racism Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 28

Slide 28

Black/Dark - Evil, disgrace, vile, immoral White/Light - Purity, good, innocence, cleanliness Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 29

Slide 29

Connotations of color in which racial groups are defined have permeated into the vernacular of the Web. “These connotations may well reinforce social norms pertaining to those groups.” – Douglas Longshore Color Connotations and Racial Attitudes, Douglas Longshore, Journal of Black Studies, Vol. 10, No. 2 (Dec., 1979), pp. 183-197 (15 pages). Published By: Sage Publications, Inc. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 30

Slide 30

Connotations of color in which racial groups are defined have permeated into the vernacular of the Web. “We highlight how racial biases in emotion reasoning, which emerge as early as infancy, likely contribute to miscommunications, inaccurate social perceptions, and negative interracial interactions across the lifespan.” – Ashley L Ruba, Ryan McMurty, Sarah E Gaither, Makeba Parramore Wilbourn Ruba AL, McMurty R, Gaither SE, Wilbourn MP. How White American Children Develop Racial Biases in Emotion Reasoning. Affect Sci. 2022 Apr 1;3(1):21-33. doi: 10.1007/s42761-022-00111-y. PMID: 36046098; PMCID: PMC9383007. @toddlibby - Modern Frontends Live! Todd Libby - 18 November, 2022

Slide 31

Slide 31

Deceptive Patterns Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 32

Slide 32

What are “Deceptive” Patterns? Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 33

Slide 33

“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 - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 34

Slide 34

“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 - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 35

Slide 35

Solving User Needs Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 36

Slide 36

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 - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 37

Slide 37

Examples Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 38

Slide 38

Deceptive Patterns Categories of barriers • Annoying / Unwanted (Unexpected) • Not using affordances • Vestibular • Not activated / Not controlled by user • Indicators • Unwanted content / advertising / without user knowledge

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 39

Slide 39

Deceptive Patterns Categories of barriers • Wording • Consistency (Affordances) • Adjustability / Flow blockers • (Time) Pressure • Invasive

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 40

Slide 40

Deceptive Patterns Examples of patterns/anti-patterns • Trick questions; • Menu items that open on hover, other that open on click; • Copy and paste is disabled; • Time remaining to buy tickets (Hi Ticketmaster! 👋); • Asking the user to enable features (microphone, camera, etc.). Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 41

Slide 41

Real-World Examples Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 42

Slide 42

Autoplay If you autoplay audio/video, expect a strongly worded email! Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 43

Slide 43

Disabled buttons Create barriers for disabled people more than they help. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 44

Slide 44

Animation Persons with vestibular issues can be harmed Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 45

Slide 45

Surprise! Popups or modals that love to slap you in the face! Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 46

Slide 46

Focus Poor focus management or non-movement in multi-page forms Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 47

Slide 47

Paywalls The “good” content is locked up so you have to pay, the bad stu is free! @toddlibby - Modern Frontends Live! ff Todd Libby - 18 November, 2022

Slide 48

Slide 48

GDPR Messages Menu items appearing on hover Infinite scrolling * Timers Pages asking for geolocation Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 49

Slide 49

Any current gap in the WCAG guidelines we want to address through FAST and deceptive patterns. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 50

Slide 50

The most important part about bringing deceptive patterns to WCAG 3 is to reduce harm to those who are affected. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 51

Slide 51

Safety Do you want to feel safe while online? Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 52

Slide 52

People can use without physical harm or risk (to self or others within a physical environment). Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 53

Slide 53

Ways to Meet User Needs Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 54

Slide 54

User needs need to be analyzed for how they can be met. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 55

Slide 55

How to meet user needs: • Author design • Author technical implementation • User agent accessibility support of standard features • User agent support of author-implemented accessibility features • Assistive technology support (including accessibility API mediation) Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 56

Slide 56

Examples of Meeting User Needs Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 57

Slide 57

Draft The document is a preliminary draft. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 58

Slide 58

For each expected outcome, ways to meet it are proposed for: • Technologies • Content Authors • User Agents Other categories may be included later. Many user needs can be met in more than one way. Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 59

Slide 59

Text Alternatives Examples User Need Text Alternatives Technology Provide a mechanism for author to create text alternatives and associate with content

Define parseable and semantically rich content encoding that supports automated creation of text alternatives

Provide color definition features that allow authors to set colors to meet requirements

Provide color definition features that allow users to override author-set colors

Content Author Create text alternative content and associate with primary content using features of the content technology

Encode content using a content technology that is sufficiently rich that machines can create useful automated text alternatives

Use only colors that meet luminosity contrast guidelines

User Agent Expose text alternatives primary content using provided by the author

Create automated text alternative content based on the semantics of the primary content

Provide a feature for users to override author colors

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 60

Slide 60

Color Contrast Examples User Need Color Contrast Technology Provide color definition semantics that allow colors of common object types to be globally remapped easily

Content Author Use semantically defined color mappings to allow user global preferences to be easily applied

Provide a feature to allow users to define their own color preferences

Provide a “high contrast” mode that overrides author colors

Provide a feature to allow users to request “high contrast” mode

User Agent Support semantically defined color mappings to allow users to define global preferences that are easily applied across a range of content

Provide a “high contrast” mode that overrides author colors

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 61

Slide 61

But… Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 62

Slide 62

What about large companies like Meta, Twitter, Google, etc.? How will you get them to change? Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 63

Slide 63

Ethical Web Principles Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 64

Slide 64

• W3C TAG Ethical Web Principles • The web should be a platform that helps people and provides a positive social benefit • 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

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 65

Slide 65

Acknowledgments Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 66

Slide 66

• Jake Abma (Invited Expert) • Joshue O Connor (Invited Expert) • Michael Cooper (W3C/MIT) • Charles Hall (Invited Expert) Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 67

Slide 67

https://toddl.dev/slides https://raw.githack.com/w3c/fast/restructure-functional-and-userneeds/index.html https://www.jstor.org/stable/2784327 https://pubmed.ncbi.nlm.nih.gov/36046098/ https://www.w3.org/TR/ethical-web-principles/ https://www.w3.org/TR/webmachinelearning-ethics/

Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live!

Slide 68

Slide 68

Thank you! Todd Libby - 18 November, 2022 @toddlibby - Modern Frontends Live! Photo by Benjamin Williamson