SlideShare a Scribd company logo
1 of 53
Download to read offline
Better user experience, happier developers
Accessibility
microinteractions
AIDAN TIERNEY
@AIDANA11Y
ɱ
A workflow for
accessibility specialist &
development team
ɱ
A front-end
development style
guide for accessibility
Microinteractions
Patterns that repeat
throughout the
application
Clear, testable
requirements
Consistent,
understandable &
enjoyable user
experience
Button
Modal
Navigation menu
• Description of pattern
• Screenshot
• Keyboard interactions
• ARIA roles, states, and properties
• Code snippets
• Examples
• Resources - blog posts, tutorials
Style Guide
WAI-ARIA 

Authoring Practices
w3.org/TR/wai-aria-practices-1.1/
Button
w3.org/TR/wai-aria-practices-1.1/#button
Remember, today
is about a workflow
- don't sweat the
technical details in
the examples
ȶ
Description
A button is a widget that enables users to trigger an
action or event, such as submitting a form, opening a
dialog, canceling an action, or performing a delete
operation.
Button vs. link: a link navigates away from current
context; a button triggers new content in same context.
But there will be exceptions.
Note: 

menu button and toggle button are unique patterns
Screenshot
Ƕ Add to cart
Subscribe
Keyboard Interactions
When the button has focus:
• Space activates the button.
• Enter: Activates the button.

Following button activation:
• If activating the button opens a dialog, the focus moves inside the
dialog. 

(see dialog pattern)
• If activating the button closes a dialog, focus typically returns to
the button that opened the dialog unless the function performed
in the dialog context logically leads to a different element.
• If activating the button does not dismiss the current context, then
focus typically remains on the button after activation, e.g., an
Apply or Recalculate button.
• If the button action indicates a context change, such as move to
next step in a wizard or add another search criteria, then it is often
appropriate to move focus to the starting point for that action.
You don’t
need to
read this
now!
WAI-ARIA Roles, States, and Properties
The button has role of button.

The button has an accessible label. By default, the
accessible name is computed from any text content inside
the button element. However, it can also be provided with
aria-labelledby or aria-label.

If a description of the button's function is present, the
button element has aria-describedby set to the ID of the
element containing the description.

When the action associated with a button is unavailable,
the button has aria-disabled set to true.



Also see: See menu button and toggle button
You don’t
need to
read this
now!
Code Snippets
<div role="button" id="print">
Print Page
</div>
<a tabindex="0"
role="button"
id="alert1">
Show alert
</a>
Examples
Button Examples
w3.org/TR/wai-aria-practices-1.1/examples/
button/button.html
Resources
Links vs. Buttons in Modern Web Applications 

- Marcy Sutton
marcysutton.com/links-vs-buttons-in-modern-
web-applications/
Links are not buttons. Neither are DIVs and SPANs

- Karl Groves
karlgroves.com/2013/05/14/links-are-not-buttons-
neither-are-divs-and-spans/
The microinteraction
workflow
Team identifies
what it will work on
- sprint planning
Accessibility
specialist
drafts guidance
(spec) for new
components or
patterns
Review spec early in sprint
Ȭ
Development feedback
Agree on behaviour
Accessibility
specialist
incorporates
feedback in
draft
Development
team starts
to build
components
to this spec
Review
components
together
Developers
demo using
keyboard and
screen reader
Rework spec & modify
code, if needed
Accessibility
specialist
reviews
build
Clarifications for
Development or Users
Update screen reader and other
content to better explain patterns
(e.g. hints, instructions, user
guides)
Share requirements/
expected behaviours
with QA
QA tests against
the detailed
behaviour for each
microinteraction
Modal
w3.org/TR/wai-aria-practices-1.1/
#dialog_modal
Description
A modal is a window overlayed on either the
primary window or another modal window
designed to prompt the user to enter information
or make a response.
Sometimes called a dialog, these windows take
and hold focus until closed or actioned. The
window under a modal dialog is typically inert;
users cannot interact with content outside the
dialog window.
Screenshot
Keyboard Interactions
Tab:
Moves focus to the next focusable element inside the dialog.
If focus is on the last element, moves focus to the first
focusable element inside the dialog.
Shift + Tab:
Moves focus to the previous focusable element inside the
dialog.
If focus is on the first element, moves focus to the last
focusable element inside the dialog.
Escape: Closes the dialog.
Note:
• When a dialog opens, focus is typically set on the first
focusable element.
• When a dialog closes, focus returns to the element that had
focus before the dialog was invoked. This is often the control
that opened the dialog.
You don’t
need to
read this
now!
WAI-ARIA Roles, States, and Properties
The element that serves as the dialog container has a role of
dialog.

The dialog has either:
• The aria-labelledby property set to refer to the visible dialog
title.
• A label specified with aria-label.



The aria-describedby property can be set on the element with
the dialog role to indicate which element or elements in the
dialog contain content that describes the primary purpose or
message of the dialog.
Specifying descriptive elements enables screen readers to
announce the description along with the dialog title and initially
focused element when the dialog opens.
You don’t
need to
read this
now!
Code Snippets
<div role="dialog" 

aria-labelledby="dlgtitle">
<h1 id="dlgtitle">

Sign up to Newsletter</h1>
<div>
<label for="email">Email: </label>
<input type="text" id="email"
name="email">
<input type="button" value="Sign up">
</div>
</div>
Examples
Using ARIA role=dialog to implement a modal
dialog box - W3C WAI
w3.org/WAI/GL/wiki/
Using_ARIA_role%3Ddialog_to_implement_a_
modal_dialog_box
Resources
Custom-Built Dialogs - Gez Lemon
juicystudio.com/article/custom-built_dialogs.php 

Using the dialog role - MDN
developer.mozilla.org/en-US/docs/Web/
Accessibility/ARIA/ARIA_Techniques/
Using_the_dialog_role
Let's try this out
Menu navigation - menubar
w3.org/TR/wai-aria-practices-1.1/#menu
Description
A menu that is visually persistent is a menubar.
A menubar is typically horizontal and is often
used to create a menu bar similar to those found
near the top of the window in many desktop
applications, offering the user quick access to a
consistent set of commands.
Screenshot
Keyboard Interactions
Enter:
When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.
Otherwise, activates the item and closes the menu.
Space:
When focus is on a menuitemcheckbox, changes the state without closing the menu.
When focus is on a menuitemradio that is not checked, without closing the menu, checks the focused menuitemradio
and unchecks any other checked menuitemradio element in the same group.
(Optional): When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.
(Optional): When focus is on a menuitem that does not have a submenu, activates the menuitem and closes the menu.
Down Arrow:
When focus is on a menuitem in a menubar, opens its submenu and places focus on the first item in the submenu.
When focus is in a menu, moves focus to the next item, optionally wrapping from the last to the first.
Up Arrow:
When focus is in a menu, moves focus to the previous item, optionally wrapping from the first to the last.
When focus is in a menubar, does nothing.
Right Arrow:
When focus is in a menubar, moves focus to the next item, optionally wrapping from the last to the first.
When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.
When focus is in a menu and on an item that does not have a submenu, performs the following 3 actions:
Closes the submenu and any parent menus.
Moves focus to the next menuitem in the menubar.
Either: (Recommended) opens the submenu of that menuitem without moving focus into the submenu, or opens the
submenu of that menuitem and places focus on the first item in the submenu.
Note that if the menubar were not present, e.g., the menus were opened from a menubutton, Right Arrow would not do
anything when focus is on an item that does not have a submenu.
You don’t
need to
read this
now!
Keyboard Interactions
Left Arrow:
When focus is in a menubar, moves focus to the previous item, optionally wrapping from the last to the first.
When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.
When focus is in a submenu of an item in a menubar, performs the following 3 actions:
Closes the submenu.
Moves focus to the previous menuitem in the menubar.
Either: (Recommended) opens the submenu of that menuitem without moving focus into the submenu, or opens the
submenu of that menuitem and places focus on the first item in the submenu.
Home: 

If arrow key wrapping is not supported, moves focus to the first item in the current menu or menubar.
End:

If arrow key wrapping is not supported, moves focus to the last item in the current menu or menubar.
Any key that corresponds to a printable character (Optional): Move focus to the next menu item in the current menu
whose label begins with that printable character.
Escape: 

Close the menu that contains focus and return focus to the element or context, e.g., menu button or parent
menuitem, from which the menu was opened.
Tab: 

Moves focus to the next element in the tab sequence, and if the item that had focus is not in a menubar, closes its
menu and all open parent menu containers.
Shift + Tab: 

Moves focus to the previous element in the tab sequence, and if the item that had focus is not in a menubar, closes its
menu and all open parent menu containers.
You don’t
need to
read this
now!
WAI-ARIA Roles, States, and Properties
A menu is a container of items that represent choices. The element serving as the menu has a
role of either menu or menubar.
The items contained in a menu are child elements of the containing menu or menubar and
have any of the following roles:
menuitem
menuitemcheckbox
menuitemradio
One of the following approaches is used to enable scripts to move focus among items in a
menu as described in 4.6 Keyboard Navigation Inside Components:
The menu container has tabindex set to -1 or 0 and aria-activedescendant set to the ID of the
focused item.
Each item in the menu has tabindex set to -1, except in a menubar, where the first item has
tabindex set to 0.
If activating a menuitem opens a submenu, the menuitem has aria-haspopup set to true.
When a menuitemcheckbox or menuitemradio is checked, aria-checked is set to true.
When a menu item is disabled, aria-disabled is set to true.
Items in a menu may be divided into groups by placing an element with a role of separator
between groups. For example, this technique should be used when a menu contains a set of
menuitemradio items.
All separators should have aria-orientation consistent with the separator's orientation.
NOTE
If aria-owns is set on the menu container to include elements that are not DOM children of
the container, those elements will appear in the reading order in the sequence they are
referenced and after any items that are DOM children. Scripts that manage focus need to
ensure the visual focus order matches this assistive technology reading order.
You don’t
need to
read this
now!
Examples
Navigation Menubar Example
w3.org/TR/wai-aria-practices-1.1/examples/
menubar/menubar-1/menubar-1.html
Microinteration workflow
Collaboration:
Accessibility Specialist & Development team
Accessibility Pattern/Style Guide:
Detailed, testable and achievable requirements
Best suited to large iterative projects.
Developers demo they've met requirements:
Solve for problems together (it's not a test)
Benefits
Consistent user experience
Shift left - should reduce defects in builds
Subsequent projects can use or modify the specs
Teams like to know 'how its supposed to work'
Challenges
Speed:
Early sprints have a lot of new patterns.
Keeping ahead of the developers.
Best when UX and Design patterns clear.
Teams with no accessibility experience.
Workflow is for efficiency, not for teaching
Accessibility 101.
Screen reader logistics and skills.
“What questions or
comments do you have?”
ɳ
Better user experience, happier developers
Accessibility
microinteractions
AIDAN TIERNEY
@AIDANA11Y
ɱ

More Related Content

What's hot

A Web for Everyone: Accessibility as a design challenge
A Web for Everyone: Accessibility as a design challengeA Web for Everyone: Accessibility as a design challenge
A Web for Everyone: Accessibility as a design challengeWhitney Quesenbery
 
Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"ecentricarts
 
Inclusive Design 101
Inclusive Design 101Inclusive Design 101
Inclusive Design 101Amanda Reagan
 
Web Accessibility: A Shared Responsibility
Web Accessibility: A Shared ResponsibilityWeb Accessibility: A Shared Responsibility
Web Accessibility: A Shared ResponsibilityJoseph Dolson
 
UI UX introduction
UI UX introductionUI UX introduction
UI UX introductionIsmail Norri
 
Ui ux designing principles
Ui ux designing principlesUi ux designing principles
Ui ux designing principlesDzung Nguyen
 
WCAG 2.1 and POUR
WCAG 2.1 and POURWCAG 2.1 and POUR
WCAG 2.1 and POURAlena Huang
 
Digital accessibility 101
Digital accessibility 101Digital accessibility 101
Digital accessibility 101Intopia
 
Accessibility and why it matters
Accessibility and why it mattersAccessibility and why it matters
Accessibility and why it mattersMargarida Sousa
 
Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web AccessibilitySteven Swafford
 
Ulasan UI/UX by Mana Sempat Team
Ulasan UI/UX by Mana Sempat TeamUlasan UI/UX by Mana Sempat Team
Ulasan UI/UX by Mana Sempat TeamCavanBadiuzMaa
 

What's hot (20)

Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
 
A Web for Everyone: Accessibility as a design challenge
A Web for Everyone: Accessibility as a design challengeA Web for Everyone: Accessibility as a design challenge
A Web for Everyone: Accessibility as a design challenge
 
Web accessibility
Web accessibilityWeb accessibility
Web accessibility
 
Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"
 
Inclusive Design 101
Inclusive Design 101Inclusive Design 101
Inclusive Design 101
 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
 
Web Accessibility: A Shared Responsibility
Web Accessibility: A Shared ResponsibilityWeb Accessibility: A Shared Responsibility
Web Accessibility: A Shared Responsibility
 
UI UX introduction
UI UX introductionUI UX introduction
UI UX introduction
 
The Importance of UX
The Importance of UXThe Importance of UX
The Importance of UX
 
Ui ux designing principles
Ui ux designing principlesUi ux designing principles
Ui ux designing principles
 
Instagram human computer interaction project
Instagram human computer interaction project Instagram human computer interaction project
Instagram human computer interaction project
 
WCAG 2.1 and POUR
WCAG 2.1 and POURWCAG 2.1 and POUR
WCAG 2.1 and POUR
 
Voice Assistant (1).pdf
Voice Assistant (1).pdfVoice Assistant (1).pdf
Voice Assistant (1).pdf
 
Digital accessibility 101
Digital accessibility 101Digital accessibility 101
Digital accessibility 101
 
Accessibility and why it matters
Accessibility and why it mattersAccessibility and why it matters
Accessibility and why it matters
 
Action Bar in Android
Action Bar in AndroidAction Bar in Android
Action Bar in Android
 
Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
 
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
 
Ulasan UI/UX by Mana Sempat Team
Ulasan UI/UX by Mana Sempat TeamUlasan UI/UX by Mana Sempat Team
Ulasan UI/UX by Mana Sempat Team
 
10 Usability Heuristics Explained
10 Usability Heuristics Explained10 Usability Heuristics Explained
10 Usability Heuristics Explained
 

Viewers also liked

Mystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleMystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleTed Drake
 
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Ted Drake
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationSean Kelly
 
Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)Adrian Roselli
 
A Multidisciplinary Approach to Universal Design
A Multidisciplinary Approach to Universal DesignA Multidisciplinary Approach to Universal Design
A Multidisciplinary Approach to Universal DesignAnders Skifte
 
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017Bill Tyler
 
CSUN 2017 VPATs For Business or Measure
CSUN 2017 VPATs For Business or MeasureCSUN 2017 VPATs For Business or Measure
CSUN 2017 VPATs For Business or MeasureTed Gies
 
Early prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviewsEarly prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviewsAidan Tierney
 
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)Lainey Feingold
 
2017 CSUN The Art of Language in Accessibility
2017 CSUN The Art of Language in Accessibility2017 CSUN The Art of Language in Accessibility
2017 CSUN The Art of Language in AccessibilityCrystal Baker
 
2017 CSUN Color Contrast
2017 CSUN Color Contrast2017 CSUN Color Contrast
2017 CSUN Color ContrastCrystal Baker
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsAidan Tierney
 
Accessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test EffortAccessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test EffortAidan Tierney
 
iOS VoiceOver Testing Techniques & Procedures for Absolute Beginners
iOS VoiceOver Testing Techniques & Procedures for Absolute BeginnersiOS VoiceOver Testing Techniques & Procedures for Absolute Beginners
iOS VoiceOver Testing Techniques & Procedures for Absolute BeginnersAidan Tierney
 
Mobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsMobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsAidan Tierney
 
Preparing the enterprise for 508 refresh, ibm csun2017
Preparing the enterprise for 508 refresh, ibm csun2017Preparing the enterprise for 508 refresh, ibm csun2017
Preparing the enterprise for 508 refresh, ibm csun2017Michael Gower
 
Cognitive theory of multimedia learning, krista greear, csun 2017
Cognitive theory of multimedia learning, krista greear, csun 2017Cognitive theory of multimedia learning, krista greear, csun 2017
Cognitive theory of multimedia learning, krista greear, csun 2017Krista Greear
 
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...November Samnee
 
iOS Accessibility Testing with VoiceOver - A Crash Course
iOS Accessibility Testing with VoiceOver - A Crash CourseiOS Accessibility Testing with VoiceOver - A Crash Course
iOS Accessibility Testing with VoiceOver - A Crash CourseAidan Tierney
 

Viewers also liked (20)

Mystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleMystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessible
 
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and Prioritization
 
Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)
 
A Multidisciplinary Approach to Universal Design
A Multidisciplinary Approach to Universal DesignA Multidisciplinary Approach to Universal Design
A Multidisciplinary Approach to Universal Design
 
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017
Rethinking Accessibility: Role-Based Analysis of WCAG 2.0 - CSUN 2017
 
CSUN 2017 VPATs For Business or Measure
CSUN 2017 VPATs For Business or MeasureCSUN 2017 VPATs For Business or Measure
CSUN 2017 VPATs For Business or Measure
 
Early prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviewsEarly prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviews
 
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)
Digital Accessibility Legal Update - CSUNATC 2017 (CSUN)
 
2017 CSUN The Art of Language in Accessibility
2017 CSUN The Art of Language in Accessibility2017 CSUN The Art of Language in Accessibility
2017 CSUN The Art of Language in Accessibility
 
2017 CSUN Color Contrast
2017 CSUN Color Contrast2017 CSUN Color Contrast
2017 CSUN Color Contrast
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web Forms
 
Accessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test EffortAccessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test Effort
 
iOS VoiceOver Testing Techniques & Procedures for Absolute Beginners
iOS VoiceOver Testing Techniques & Procedures for Absolute BeginnersiOS VoiceOver Testing Techniques & Procedures for Absolute Beginners
iOS VoiceOver Testing Techniques & Procedures for Absolute Beginners
 
Mobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsMobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & Trends
 
Preparing the enterprise for 508 refresh, ibm csun2017
Preparing the enterprise for 508 refresh, ibm csun2017Preparing the enterprise for 508 refresh, ibm csun2017
Preparing the enterprise for 508 refresh, ibm csun2017
 
Cognitive theory of multimedia learning, krista greear, csun 2017
Cognitive theory of multimedia learning, krista greear, csun 2017Cognitive theory of multimedia learning, krista greear, csun 2017
Cognitive theory of multimedia learning, krista greear, csun 2017
 
Daft Punk SEO
Daft Punk SEODaft Punk SEO
Daft Punk SEO
 
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...
Designing with Accessibility in Mind: How IA and Visual Design Decisions Impa...
 
iOS Accessibility Testing with VoiceOver - A Crash Course
iOS Accessibility Testing with VoiceOver - A Crash CourseiOS Accessibility Testing with VoiceOver - A Crash Course
iOS Accessibility Testing with VoiceOver - A Crash Course
 

Similar to Accessibility microinteractions: better user experience, happier developers

Front End Frameworks - are they accessible
Front End Frameworks - are they accessibleFront End Frameworks - are they accessible
Front End Frameworks - are they accessibleRuss Weakley
 
Accessible modal windows
Accessible modal windowsAccessible modal windows
Accessible modal windowsRuss Weakley
 
Bootstrap PPT Part - 2
Bootstrap PPT Part - 2Bootstrap PPT Part - 2
Bootstrap PPT Part - 2EPAM Systems
 
Lotusphere 2012: BP102 'UserBlast'
Lotusphere 2012: BP102 'UserBlast'Lotusphere 2012: BP102 'UserBlast'
Lotusphere 2012: BP102 'UserBlast'Mat Newman
 
Basic Skills for Bigginners
Basic Skills for BigginnersBasic Skills for Bigginners
Basic Skills for BigginnersTendai
 
Autodesk maya 2016 basic guide
Autodesk maya 2016 basic guideAutodesk maya 2016 basic guide
Autodesk maya 2016 basic guideĐỗ Hải
 
Guide to Fix Dropdown Button Not Switching Selected Item | Flutter
Guide to Fix Dropdown Button Not Switching Selected Item | FlutterGuide to Fix Dropdown Button Not Switching Selected Item | Flutter
Guide to Fix Dropdown Button Not Switching Selected Item | FlutterFlutter Agency
 
Accessible states in Design Systems
Accessible states in Design SystemsAccessible states in Design Systems
Accessible states in Design SystemsRuss Weakley
 
introduction-microsoft-word-2013.13.pdf
introduction-microsoft-word-2013.13.pdfintroduction-microsoft-word-2013.13.pdf
introduction-microsoft-word-2013.13.pdfVida533595
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive InterfacesSally Shepard
 
Pc Fundamentalspart 2 Word
Pc Fundamentalspart 2 WordPc Fundamentalspart 2 Word
Pc Fundamentalspart 2 WordLUZ PINGOL
 
Introduction to the Module Menu in Blackboard Learn 9.1
Introduction to the Module Menu in Blackboard Learn 9.1Introduction to the Module Menu in Blackboard Learn 9.1
Introduction to the Module Menu in Blackboard Learn 9.1Kirsten Thompson
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notesdominion
 
Uklug2011 raven newman_21_may
Uklug2011 raven newman_21_mayUklug2011 raven newman_21_may
Uklug2011 raven newman_21_mayMary Raven
 
Introduction to the Module Menu
Introduction to the Module MenuIntroduction to the Module Menu
Introduction to the Module MenuKirsten Thompson
 

Similar to Accessibility microinteractions: better user experience, happier developers (20)

Front End Frameworks - are they accessible
Front End Frameworks - are they accessibleFront End Frameworks - are they accessible
Front End Frameworks - are they accessible
 
Manual
ManualManual
Manual
 
Reader
ReaderReader
Reader
 
Accessible modal windows
Accessible modal windowsAccessible modal windows
Accessible modal windows
 
Bootstrap PPT Part - 2
Bootstrap PPT Part - 2Bootstrap PPT Part - 2
Bootstrap PPT Part - 2
 
Lotusphere 2012: BP102 'UserBlast'
Lotusphere 2012: BP102 'UserBlast'Lotusphere 2012: BP102 'UserBlast'
Lotusphere 2012: BP102 'UserBlast'
 
Word
WordWord
Word
 
Basic Skills for Bigginners
Basic Skills for BigginnersBasic Skills for Bigginners
Basic Skills for Bigginners
 
Autodesk maya 2016 basic guide
Autodesk maya 2016 basic guideAutodesk maya 2016 basic guide
Autodesk maya 2016 basic guide
 
Guide to Fix Dropdown Button Not Switching Selected Item | Flutter
Guide to Fix Dropdown Button Not Switching Selected Item | FlutterGuide to Fix Dropdown Button Not Switching Selected Item | Flutter
Guide to Fix Dropdown Button Not Switching Selected Item | Flutter
 
Accessible states in Design Systems
Accessible states in Design SystemsAccessible states in Design Systems
Accessible states in Design Systems
 
introduction-microsoft-word-2013.13.pdf
introduction-microsoft-word-2013.13.pdfintroduction-microsoft-word-2013.13.pdf
introduction-microsoft-word-2013.13.pdf
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive Interfaces
 
Pc Fundamentalspart 2 Word
Pc Fundamentalspart 2 WordPc Fundamentalspart 2 Word
Pc Fundamentalspart 2 Word
 
2 front panel
2  front panel2  front panel
2 front panel
 
Introduction to the Module Menu in Blackboard Learn 9.1
Introduction to the Module Menu in Blackboard Learn 9.1Introduction to the Module Menu in Blackboard Learn 9.1
Introduction to the Module Menu in Blackboard Learn 9.1
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notes
 
Uklug2011 raven newman_21_may
Uklug2011 raven newman_21_mayUklug2011 raven newman_21_may
Uklug2011 raven newman_21_may
 
Introduction to the Module Menu
Introduction to the Module MenuIntroduction to the Module Menu
Introduction to the Module Menu
 
Practical File Itm
Practical File ItmPractical File Itm
Practical File Itm
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 

Accessibility microinteractions: better user experience, happier developers

  • 1. Better user experience, happier developers Accessibility microinteractions AIDAN TIERNEY @AIDANA11Y ɱ
  • 2. A workflow for accessibility specialist & development team ɱ
  • 9. • Description of pattern • Screenshot • Keyboard interactions • ARIA roles, states, and properties • Code snippets • Examples • Resources - blog posts, tutorials Style Guide
  • 12. Remember, today is about a workflow - don't sweat the technical details in the examples ȶ
  • 13. Description A button is a widget that enables users to trigger an action or event, such as submitting a form, opening a dialog, canceling an action, or performing a delete operation. Button vs. link: a link navigates away from current context; a button triggers new content in same context. But there will be exceptions. Note: 
 menu button and toggle button are unique patterns
  • 14. Screenshot Ƕ Add to cart Subscribe
  • 15. Keyboard Interactions When the button has focus: • Space activates the button. • Enter: Activates the button.
 Following button activation: • If activating the button opens a dialog, the focus moves inside the dialog. 
 (see dialog pattern) • If activating the button closes a dialog, focus typically returns to the button that opened the dialog unless the function performed in the dialog context logically leads to a different element. • If activating the button does not dismiss the current context, then focus typically remains on the button after activation, e.g., an Apply or Recalculate button. • If the button action indicates a context change, such as move to next step in a wizard or add another search criteria, then it is often appropriate to move focus to the starting point for that action. You don’t need to read this now!
  • 16. WAI-ARIA Roles, States, and Properties The button has role of button.
 The button has an accessible label. By default, the accessible name is computed from any text content inside the button element. However, it can also be provided with aria-labelledby or aria-label.
 If a description of the button's function is present, the button element has aria-describedby set to the ID of the element containing the description.
 When the action associated with a button is unavailable, the button has aria-disabled set to true.
 
 Also see: See menu button and toggle button You don’t need to read this now!
  • 17. Code Snippets <div role="button" id="print"> Print Page </div> <a tabindex="0" role="button" id="alert1"> Show alert </a>
  • 19. Resources Links vs. Buttons in Modern Web Applications 
 - Marcy Sutton marcysutton.com/links-vs-buttons-in-modern- web-applications/ Links are not buttons. Neither are DIVs and SPANs
 - Karl Groves karlgroves.com/2013/05/14/links-are-not-buttons- neither-are-divs-and-spans/
  • 21. Team identifies what it will work on - sprint planning
  • 23. Review spec early in sprint Ȭ Development feedback Agree on behaviour
  • 28. Rework spec & modify code, if needed
  • 30. Clarifications for Development or Users Update screen reader and other content to better explain patterns (e.g. hints, instructions, user guides)
  • 32. QA tests against the detailed behaviour for each microinteraction
  • 34. Description A modal is a window overlayed on either the primary window or another modal window designed to prompt the user to enter information or make a response. Sometimes called a dialog, these windows take and hold focus until closed or actioned. The window under a modal dialog is typically inert; users cannot interact with content outside the dialog window.
  • 36. Keyboard Interactions Tab: Moves focus to the next focusable element inside the dialog. If focus is on the last element, moves focus to the first focusable element inside the dialog. Shift + Tab: Moves focus to the previous focusable element inside the dialog. If focus is on the first element, moves focus to the last focusable element inside the dialog. Escape: Closes the dialog. Note: • When a dialog opens, focus is typically set on the first focusable element. • When a dialog closes, focus returns to the element that had focus before the dialog was invoked. This is often the control that opened the dialog. You don’t need to read this now!
  • 37. WAI-ARIA Roles, States, and Properties The element that serves as the dialog container has a role of dialog.
 The dialog has either: • The aria-labelledby property set to refer to the visible dialog title. • A label specified with aria-label.
 
 The aria-describedby property can be set on the element with the dialog role to indicate which element or elements in the dialog contain content that describes the primary purpose or message of the dialog. Specifying descriptive elements enables screen readers to announce the description along with the dialog title and initially focused element when the dialog opens. You don’t need to read this now!
  • 38. Code Snippets <div role="dialog" 
 aria-labelledby="dlgtitle"> <h1 id="dlgtitle">
 Sign up to Newsletter</h1> <div> <label for="email">Email: </label> <input type="text" id="email" name="email"> <input type="button" value="Sign up"> </div> </div>
  • 39. Examples Using ARIA role=dialog to implement a modal dialog box - W3C WAI w3.org/WAI/GL/wiki/ Using_ARIA_role%3Ddialog_to_implement_a_ modal_dialog_box
  • 40. Resources Custom-Built Dialogs - Gez Lemon juicystudio.com/article/custom-built_dialogs.php 
 Using the dialog role - MDN developer.mozilla.org/en-US/docs/Web/ Accessibility/ARIA/ARIA_Techniques/ Using_the_dialog_role
  • 42. Menu navigation - menubar w3.org/TR/wai-aria-practices-1.1/#menu
  • 43. Description A menu that is visually persistent is a menubar. A menubar is typically horizontal and is often used to create a menu bar similar to those found near the top of the window in many desktop applications, offering the user quick access to a consistent set of commands.
  • 45. Keyboard Interactions Enter: When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item. Otherwise, activates the item and closes the menu. Space: When focus is on a menuitemcheckbox, changes the state without closing the menu. When focus is on a menuitemradio that is not checked, without closing the menu, checks the focused menuitemradio and unchecks any other checked menuitemradio element in the same group. (Optional): When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item. (Optional): When focus is on a menuitem that does not have a submenu, activates the menuitem and closes the menu. Down Arrow: When focus is on a menuitem in a menubar, opens its submenu and places focus on the first item in the submenu. When focus is in a menu, moves focus to the next item, optionally wrapping from the last to the first. Up Arrow: When focus is in a menu, moves focus to the previous item, optionally wrapping from the first to the last. When focus is in a menubar, does nothing. Right Arrow: When focus is in a menubar, moves focus to the next item, optionally wrapping from the last to the first. When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item. When focus is in a menu and on an item that does not have a submenu, performs the following 3 actions: Closes the submenu and any parent menus. Moves focus to the next menuitem in the menubar. Either: (Recommended) opens the submenu of that menuitem without moving focus into the submenu, or opens the submenu of that menuitem and places focus on the first item in the submenu. Note that if the menubar were not present, e.g., the menus were opened from a menubutton, Right Arrow would not do anything when focus is on an item that does not have a submenu. You don’t need to read this now!
  • 46. Keyboard Interactions Left Arrow: When focus is in a menubar, moves focus to the previous item, optionally wrapping from the last to the first. When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem. When focus is in a submenu of an item in a menubar, performs the following 3 actions: Closes the submenu. Moves focus to the previous menuitem in the menubar. Either: (Recommended) opens the submenu of that menuitem without moving focus into the submenu, or opens the submenu of that menuitem and places focus on the first item in the submenu. Home: 
 If arrow key wrapping is not supported, moves focus to the first item in the current menu or menubar. End:
 If arrow key wrapping is not supported, moves focus to the last item in the current menu or menubar. Any key that corresponds to a printable character (Optional): Move focus to the next menu item in the current menu whose label begins with that printable character. Escape: 
 Close the menu that contains focus and return focus to the element or context, e.g., menu button or parent menuitem, from which the menu was opened. Tab: 
 Moves focus to the next element in the tab sequence, and if the item that had focus is not in a menubar, closes its menu and all open parent menu containers. Shift + Tab: 
 Moves focus to the previous element in the tab sequence, and if the item that had focus is not in a menubar, closes its menu and all open parent menu containers. You don’t need to read this now!
  • 47. WAI-ARIA Roles, States, and Properties A menu is a container of items that represent choices. The element serving as the menu has a role of either menu or menubar. The items contained in a menu are child elements of the containing menu or menubar and have any of the following roles: menuitem menuitemcheckbox menuitemradio One of the following approaches is used to enable scripts to move focus among items in a menu as described in 4.6 Keyboard Navigation Inside Components: The menu container has tabindex set to -1 or 0 and aria-activedescendant set to the ID of the focused item. Each item in the menu has tabindex set to -1, except in a menubar, where the first item has tabindex set to 0. If activating a menuitem opens a submenu, the menuitem has aria-haspopup set to true. When a menuitemcheckbox or menuitemradio is checked, aria-checked is set to true. When a menu item is disabled, aria-disabled is set to true. Items in a menu may be divided into groups by placing an element with a role of separator between groups. For example, this technique should be used when a menu contains a set of menuitemradio items. All separators should have aria-orientation consistent with the separator's orientation. NOTE If aria-owns is set on the menu container to include elements that are not DOM children of the container, those elements will appear in the reading order in the sequence they are referenced and after any items that are DOM children. Scripts that manage focus need to ensure the visual focus order matches this assistive technology reading order. You don’t need to read this now!
  • 49. Microinteration workflow Collaboration: Accessibility Specialist & Development team Accessibility Pattern/Style Guide: Detailed, testable and achievable requirements Best suited to large iterative projects. Developers demo they've met requirements: Solve for problems together (it's not a test)
  • 50. Benefits Consistent user experience Shift left - should reduce defects in builds Subsequent projects can use or modify the specs Teams like to know 'how its supposed to work'
  • 51. Challenges Speed: Early sprints have a lot of new patterns. Keeping ahead of the developers. Best when UX and Design patterns clear. Teams with no accessibility experience. Workflow is for efficiency, not for teaching Accessibility 101. Screen reader logistics and skills.
  • 52. “What questions or comments do you have?” ɳ
  • 53. Better user experience, happier developers Accessibility microinteractions AIDAN TIERNEY @AIDANA11Y ɱ