SlideShare a Scribd company logo
1 of 31
CHOOSING AN ACCESSIBLE
UI FRAMEWORK
2CONTACT
Choosing an Accessible UI Framework
Gerard K. Cohen
Wells Fargo, Wholesale Technology Services
email:// gerardkcohen@gmail.com
twitter:// @gerardkcohen
Kevin Kalahiki
email:// kkalahiki@gmail.com
UI FRAMEWORKS
HOW DO YOU KNOW
WHICH ONE IS
ACCESSIBLE?
6TOPICS
Choosing an Accessible UI Framework
FORMS
DIALOGS
DOCUMENTATION
TABS
7CRITERIA
Choosing an Accessible UI Framework
KEYBOARD NAVIGATION/
FOCUS INDICATION
ARIA
PROPER LABELS/ DESCRIPTIONS
COLOR CONTRAST
DOCUMENTATION
FORMS
10FORM CRITERIA
Choosing an Accessible UI Framework
FOCUS INDICATION
ERROR VALIDATION
PROPER LABELS/ GROUPING
COLOR CONTRAST
TABS
12TABS CRITERIA
Choosing an Accessible UI Framework
FOCUS INDICATION
ARIA
KEYBOARD INTERACTION
COLOR CONTRAST
13TABS KEYBOARD INTERACTION
Choosing an Accessible UI Framework
LEFT/ UP FOR PREVIOUS TAB
ARROW KEYS SHOULD CYCLE
TAB KEY FOCUSES ACTIVE TAB
RIGHT/ DOWN FOR NEXT TAB
14TABS ARIA
Choosing an Accessible UI Framework
STATES: ARIA-SELECTED
ROLES: TABPANEL, TABLIST, TAB
PROPERTIES: ARIA-CONTROLS
DIALOGS
16DIALOG CRITERIA
Choosing an Accessible UI Framework
FOCUS INDICATION
ARIA
KEYBOARD INTERACTION
COLOR CONTRAST
17DIALOG ARIA
Choosing an Accessible UI Framework
ROLES: DIALOG, ALERTDIALOG
PROPERTIES: ARIA-LABEL,
ARIA-LABELLEDBY
SOLUTIONS
FORMS
20FORMS SOLUTION
Choosing an Accessible UI Framework
GROUP RELATED FIELDS WITH
FIELDSET/ LEGEND
EXPLICITLY ASSOCIATE LABELS
WITH INPUTS
CONVEY ERROR STATE AND
DESCRIPTION
21VISUALLY HIDDEN CONTENT
Choosing an Accessible UI Framework
FOUNDATION: .hidden-for-[size] ,
.visible-for-[size]
BOOTSTRAP: .sr-only
JQM: .ui-hidden-accessible
22VISUALLY HIDDEN CONTENT
Choosing an Accessible UI Framework
.u-hiddenVisually {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
TABS
23TABS SOLUTION
Choosing an Accessible UI Framework
LEFT/ UP FOR PREVIOUS TAB
ARROW KEYS SHOULD CYCLE
TAB KEY FOCUSES ACTIVE TAB
RIGHT/ DOWN FOR NEXT TAB
23TABS SOLUTION
Choosing an Accessible UI Framework
Paypal Bootstrap
Accessibility Plugin
http://paypal.github.io/bootstrap-accessibility-plugin/
DIALOGS
27DIALOG SOLUTION
Choosing an Accessible UI Framework
FOCUS SHOULD RETURN TO TRIGGER
CYCLE FOCUS WITHIN DIALOG
ROLE=“DIALOG”, ARIA-HIDDEN,
ARIA-DESCRIBEDBY
FUTURE OF
FRAMEWORKS
CONCLUSION
29CONCLUSION
Choosing an Accessible UI Framework
YOU NEED TO FILL IN THE GAPS
CONTRIBUTE BACK
NO SILVER BULLET
SHARE YOUR KNOWLEDGE
CHOOSING AN ACCESSIBLE
UI FRAMEWORK

More Related Content

Viewers also liked

Tarea5 basesdatosii2016a
Tarea5 basesdatosii2016aTarea5 basesdatosii2016a
Tarea5 basesdatosii2016ajorgegonlop
 
スライドシェアの使い方テスト。
スライドシェアの使い方テスト。スライドシェアの使い方テスト。
スライドシェアの使い方テスト。秀貴 村木
 
Comparision of feature of Economic Survey of Transprot and Communication
Comparision of feature of Economic Survey of Transprot and CommunicationComparision of feature of Economic Survey of Transprot and Communication
Comparision of feature of Economic Survey of Transprot and Communicationgohar Iqbal
 
Procore Certificate
Procore CertificateProcore Certificate
Procore CertificateAlan Karlson
 
Ramdan campaigns in social media&online advertising
Ramdan campaigns in social media&online advertisingRamdan campaigns in social media&online advertising
Ramdan campaigns in social media&online advertisingFREE LANCE
 
Peñalosa y sus pecados capitales
Peñalosa y sus pecados capitalesPeñalosa y sus pecados capitales
Peñalosa y sus pecados capitalesJohn Sudarsky
 

Viewers also liked (11)

Tarea5 basesdatosii2016a
Tarea5 basesdatosii2016aTarea5 basesdatosii2016a
Tarea5 basesdatosii2016a
 
スライドシェアの使い方テスト。
スライドシェアの使い方テスト。スライドシェアの使い方テスト。
スライドシェアの使い方テスト。
 
Comparision of feature of Economic Survey of Transprot and Communication
Comparision of feature of Economic Survey of Transprot and CommunicationComparision of feature of Economic Survey of Transprot and Communication
Comparision of feature of Economic Survey of Transprot and Communication
 
Procore Certificate
Procore CertificateProcore Certificate
Procore Certificate
 
Ramdan campaigns in social media&online advertising
Ramdan campaigns in social media&online advertisingRamdan campaigns in social media&online advertising
Ramdan campaigns in social media&online advertising
 
Peñalosa y sus pecados capitales
Peñalosa y sus pecados capitalesPeñalosa y sus pecados capitales
Peñalosa y sus pecados capitales
 
Islandia
Islandia Islandia
Islandia
 
Alemania
AlemaniaAlemania
Alemania
 
Tema 9. población española actual
Tema 9. población española actualTema 9. población española actual
Tema 9. población española actual
 
Mul7
Mul7Mul7
Mul7
 
Atomic design
Atomic designAtomic design
Atomic design
 

Similar to Choosing and Accessible UI Framework

User Experience & User Interface Design - nov 2017
User Experience & User Interface Design - nov 2017User Experience & User Interface Design - nov 2017
User Experience & User Interface Design - nov 2017Andrea Vaccarella
 
MOBILE APP[AICTE] SMART EDUCATION.pptx
MOBILE APP[AICTE] SMART EDUCATION.pptxMOBILE APP[AICTE] SMART EDUCATION.pptx
MOBILE APP[AICTE] SMART EDUCATION.pptxMAANEESHASs
 
SAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-PointSAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-Pointcpointss
 
Heuristic Evaluation of iCalamityGuide Application
Heuristic Evaluation of iCalamityGuide ApplicationHeuristic Evaluation of iCalamityGuide Application
Heuristic Evaluation of iCalamityGuide ApplicationScott Abromowitz
 
User interface design for the Web Engineering Psychology
User interface design for the Web Engineering PsychologyUser interface design for the Web Engineering Psychology
User interface design for the Web Engineering PsychologyLawrenceNajjar
 
Ayres shannon resume.4.17.12
Ayres shannon resume.4.17.12Ayres shannon resume.4.17.12
Ayres shannon resume.4.17.12shanayres
 
Salesforce crm-training-in-bangalore
Salesforce crm-training-in-bangaloreSalesforce crm-training-in-bangalore
Salesforce crm-training-in-bangaloreKelly Technologies
 
Windows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartWindows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartGlen Gordon
 
Ux tips to design better online forms
Ux tips to design better online formsUx tips to design better online forms
Ux tips to design better online formsFibonalabs
 
Care with Source2VALUE
Care with Source2VALUECare with Source2VALUE
Care with Source2VALUEmeijerandre
 
Better Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed DevelopmentBetter Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed Developmentgoodfriday
 
The Salient Process SPARK UI toolkit for IBM BPM
The Salient Process SPARK UI toolkit for IBM BPMThe Salient Process SPARK UI toolkit for IBM BPM
The Salient Process SPARK UI toolkit for IBM BPMDennis Parrott
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in actionMilan Vukoje
 

Similar to Choosing and Accessible UI Framework (20)

User Experience & User Interface Design - nov 2017
User Experience & User Interface Design - nov 2017User Experience & User Interface Design - nov 2017
User Experience & User Interface Design - nov 2017
 
ch10.ppt
ch10.pptch10.ppt
ch10.ppt
 
MOBILE APP[AICTE] SMART EDUCATION.pptx
MOBILE APP[AICTE] SMART EDUCATION.pptxMOBILE APP[AICTE] SMART EDUCATION.pptx
MOBILE APP[AICTE] SMART EDUCATION.pptx
 
SAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-PointSAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-Point
 
Heuristic Evaluation of iCalamityGuide Application
Heuristic Evaluation of iCalamityGuide ApplicationHeuristic Evaluation of iCalamityGuide Application
Heuristic Evaluation of iCalamityGuide Application
 
User interface design for the Web Engineering Psychology
User interface design for the Web Engineering PsychologyUser interface design for the Web Engineering Psychology
User interface design for the Web Engineering Psychology
 
iCalamity (DUXU - 2013)
iCalamity (DUXU - 2013)iCalamity (DUXU - 2013)
iCalamity (DUXU - 2013)
 
Ayres shannon resume.4.17.12
Ayres shannon resume.4.17.12Ayres shannon resume.4.17.12
Ayres shannon resume.4.17.12
 
Salesforce crm-training-in-bangalore
Salesforce crm-training-in-bangaloreSalesforce crm-training-in-bangalore
Salesforce crm-training-in-bangalore
 
Os Napier
Os NapierOs Napier
Os Napier
 
Windows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartWindows Phone Garage - Application Jumpstart
Windows Phone Garage - Application Jumpstart
 
Erp And Infragistics
Erp And InfragisticsErp And Infragistics
Erp And Infragistics
 
My Resume
My ResumeMy Resume
My Resume
 
Ux tips to design better online forms
Ux tips to design better online formsUx tips to design better online forms
Ux tips to design better online forms
 
Care with Source2VALUE
Care with Source2VALUECare with Source2VALUE
Care with Source2VALUE
 
Code vauch
Code vauchCode vauch
Code vauch
 
Erp And Infragistics
Erp And InfragisticsErp And Infragistics
Erp And Infragistics
 
Better Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed DevelopmentBetter Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed Development
 
The Salient Process SPARK UI toolkit for IBM BPM
The Salient Process SPARK UI toolkit for IBM BPMThe Salient Process SPARK UI toolkit for IBM BPM
The Salient Process SPARK UI toolkit for IBM BPM
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Choosing and Accessible UI Framework

Editor's Notes

  1. How many of you are are actively looking for a framework? How many of you didn’t make it to Karl Groves and Billy Gregory’s presentation? How many of you didn’t know Karl Groves and Billy Gregory were presenting at this same time? I will turn around and count to 10, if you want to leave I will not count it against you… For those of you here, thank you. You could have chosen to sleep in, or any other presentation, but I am glad you are here. INTRODUCTIONS
  2. Evaluating UI frameworks and libraries for your latest web development project is no easy task. Each decision maker has their own set of criteria based on their past experience and overall project or task at hand. Some common criteria factors are: ease of use, architecture, opinionated vs non-opinionated, customization, large community, open source, popularity, visual design, 3rd party modules, file size, MV* patterns, etc. Though determining this criteria is not covered in this discussion you need to ask yourself: Where does accessibility rank on your list of things to evaluate? Using one of these UI frameworks and libraries for your web project makes for rapid and easy development, so picking the right framework or library for your next web development project can have a serious impact on your ability to deliver on time and ensure future maintainability. Unfortunately, the speed and ease at which these frameworks allow you to develop often means that accessibility can easily be overlooked and taken for granted. NEXT SLIDE: How do you know the one you choose is accessible?
  3. How? We will go over some basic checks, a starting off point, on what to look for.
  4. It is not my intention to bash any of these frameworks. Building a framework is hard and takes a lot of work. I am extremely appreciative of these frameworks for the time and effort they have put in in order to make the development of my projects easier.
  5. Does the framework document a11y intentions? Do code examples exhibit a11y best practices?
  6. Proper labels/ descriptions: Is semantic meaning being conveyed? Keyboard navigation: Can a user perform tasks without the use of a mouse? Is focus indication defined, can a user know where they are at all times? Color Contrast: Is the CSS styles of each framework/ theme good for low-vision users? Minimum 4.5:1 If ARIA is needed, are the right roles, states, and properties being used? We will be using WAI-ARIA 1.0 Authoring Practices as our guide for widgets, i.e tab and dialog. Google Chrome Accessibility Developer Tools for inspection Google ChromeVox as screenreader
  7. Angular Doc: ngAria with code examples (aria-checked not updated?) Common a11y patterns Additional Resources Good info! Bootstrap Doc Foundation Doc Copied from Bootstrap? JQM Doc: Slim, mentions accessibly hiding menus
  8. Forms are everywhere! Extremely easy to get right, extremely easy to get wrong! Just good, semantic form markup! Error validation is usually customized, so some aria will be needed.
  9. Visit Angular FORMS Test keyboard and focus indication Test via chrome a11y tools, check label associations, check color contrast of validation ChromeVOX: CONTROL + COMMAND + A + A Check if error state is always read out loud Bootstrap forms Note about using labels for accessibility, Good documentation for a11y Forms are CSS only, meaning validation state should be handled manually via JS. No grouping, except for disabled groups of fields Foundation Forms "Note about labels and accessibility switches and range use custom elements, switches require strange, markup” Focus indication does not pass color contrast No grouping JQM Passed all except color contrast for default (blue/ white theme) Uses native form elements ensuring accessibility will always be supported even though highly stylized
  10. A “tabbed” interface that allows dynamic switching of content
  11. Tab to tabs Arrow keys? Focus indicaition Use a11y dev tools to check aria-roles
  12. Additional key combinations, CTRL + UP/ PAGE UP/DOWN are mentioned but might conflict with browser interactions, ie switching browser tabs. They are also somewhat Windows keyboard-centric
  13. List of tabs has a role=“tablist” Tabs have role=“tab”, property aria-controls with id of of content, and communicate selected state via aria-selected Content containers have role=“tabpanel” Visit Bootsrap tabs focus indication and color contrast is good Keyboard nav is not there Aria is ok Check with chromevox CONTROL + COMMAND + A + A Angular Tabs No focus indication on selected item Tab to control and left/ right arrows ok Not cyclical, no up/down. Navigation does not activate tab, must press enter Aria is ok JQM: PERFECT! Keyboard nav, color contrast, aria all perfect Foundation: No focus indication makes keyboard nav useless Tab to control and left/ right arrows ok Not cyclical, no up/down. Navigation does not activate tab, must press enter Aria is ok
  14. Overlay that either prompts user for a response or presents additional information
  15. Initial focus should go to either the first focusable element or the dialog container TAB/ SHIFT-TAB should cycle through focusable elements, never leaving the panel ESC should close the panel and return focus to the triggering element ENTER should submit form, if available but care is needed if other elements inside the dialog use ENTER.
  16. Role=dialog Simple dialogs like alerts/ confirmations should use role=“alertdialog” Dialog is labelled by either aria-label or aria-labelledby Additional aria seen later for better use Foundation Dialog Docs already note this is not accessible Tab not restricted to panel Focus does not return to trigger Esc and click outside does close dialog Invalid markup, no aria Check with Chromevox Angular Dialog Focus indication ok, keyboard , Tab not restricted to panel Focus does not return to trigger Esc and click outside does close dialog JQM: Good aria, tab not restriced to keyboard, focus not on trigger, esc and click outside to close Bootstrap: Tabs restricted, but there is shift-tab keyboard trap. Escape closes dialog
  17. So now we see that there are some things lacking in order to make the use of frameworks in our application more accessible. What are some of the things we can do?
  18. Again, forms are extremely easy to get right, and just as easy to get wrong.
  19. AFTER, show Angular FORM Code Add fieldset Explicitly associated labels with inputs Used fieldset with visually hidden css Color contrast of error messages changed Uses live-region to express error messages, but aria-descibedby might better in addition
  20. Just add js after after bootstrap Add ARIA roles like tablist, presentation, and tab for tabs UL, LI. Add tabIndex, aria-expanded, aria-selected, aria-controls for tab. Add ARIA roles of tabPanel, tabIndex, aria-hidden, and aria-labelledBy for tabPanel. Add keydown event listener for the tab to work with keyboard. Dynamically flip tabIndex, aria-selected, and aria-expanded for tab when it is activated and add aria-hidden to hide the previously visible tab.
  21. Wrap body content in container in order to maintain aria-hidden when panel is open Role=“dialog” Aria-describedby=“dialog-title” Aria-hidden Tabindex=0 Move close trigger to logical order, after title Change close trigger to button Close trigger being read as “multiplication”. Add aria-hidden and visually hidden text “close dialog” Focus close button upon opening Focus trigger upon closing Show code for tab cycle
  22. Angular – Marcy Sutton: undoubtedly biased, but Angular Material has some of the best accessibility support around for being a new framework. Angular 1.x had ngAria as a module, Angular 2.0 will essentially have ngAria built-in. Material Design won’t release components until a11y is built-in. Material Design enforces text alternatives via warnings in the console. Even better, a11y plugin for Protractor (e2e testing for Angular) that uses either Chrome Accessibility Developer Tools or Tenon.io by Karl Groves. Foundation – Brandon, Foundation Lead – Rafi, Customer Advocate: Next version of Foundation for web, v6, is being built from the ground up with a11y as a focus. No component will make build unless it passes a11y. Fixing docs, keyboard, and color contrast Bootstrap - Patrick Lauke V4 is a complete overhaul, with simplification and refactoring of most existing CSS/JS components Working hard trying to get Paypal a11y plugin back in Patrick will be overseeing/ triaging all new features/ pull requests Mostly volunteer basis
  23. This is it. We looked at some popular frameworks, some common interactions and patterns, used a basic checklist to evaluate and came up with some solutions. So what did we learn?
  24. Frameworks are hard to get completely accessible, implementations can vary. Ultimately, you need to do what is best for your users. Frameworks should give you the proper tools to do so. Share the knowledge, be an advocate. All the frameworks I tallked to said they greatly welcome any contributions/ pull requests to help with a11y. Open source is a community effort.