SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
ACCESSIBILITY REVIEW
@AIMEE_MAREE
JAVASCRIPT FRAMEWORKS
WHAT DOES ACCESSIBILITY
MEAN?
Elephant in the Room
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
WHAT DOES ACCESSIBILITY MEAN FOR ME,
▸ Access the application or website with increased font-size
▸ For video an option to use captions
▸ Option to read out content on the screen via audio at
times when needed
▸ Allows for a high zoom in factor for areas of the screen
▸ Creation of new assistive devices to enhance my families
life and my own
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
WHAT DOES ACCESSIBILITY MEAN FOR YOU?
▸ Humans can access the information via assistive
technologies such as Screen Readers
▸ Captions can be displayed on video
▸ As you age you can still read the text on the screen
▸ Low bandwidth users can access your website or app
▸ People on all types of devices can access your website not
just iPhone or Android?
ACCESSIBILITY IS ABOUT
PEOPLE.
We The People
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY
ENABLING PEOPLE TO BE ABLE TO PARTICIPATE
THE MODERN DAY WEB IS
BUILT ON JAVASCRIPT
FRAMEWORKS
World Wide Web
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
BUT JAVASCRIPT CAN’T BE
MADE ACCESSIBLE?
Myth Maker
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
BUT THE DOM HAS A WEB API
AND HTML ELEMENTS ARE
ACCESSIBLE?
WCAG Standards
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
I WRITE JAVASCRIPT NOT
HTML!
Someone silly programmer
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JAVASCRIPT AND HTML THE NEEDED DUO
▸ We still need HTML and CSS to layout a webpage
▸ Screen Readers and other tools look for HTML native elements
▸ JS Frameworks use javascript to inject HTML onto the webpage
▸ People like JS Frameworks they are client rendered and render quickly
▸ It can depend on the framework? Some frameworks have Aria calls
built into their components, some make more use of native elements.
▸ So I don't have to worry about HTML then? Well its JS yes, but your
still injecting HTML code and that is what needs to be accessible.
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
SOME KEY ISSUES WITH JS FRAMEWORKS AND ACCESSIBILITY
▸ Custom html elements that have no state, roles, properties so
the developer needs to give it this information by using aria
▸ Overuse of Aria, this leads to heavy use of aria in order to
communicate the purpose of the element
▸ Control of tab focus for keyboard is problematic when your
rebuilding the DOM needs a deeper level of focus
▸ Misuse of Aria-live states to announce dynamic areas to
Screen readers leads to a very verbose experience
BUT WE CAME FOR AN
OVERVIEW OF JS
FRAMEWORKS?
The Presenter
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
TEXT
MODERN DAY JS FRAMEWORK PROBLEMS A PLENTY
▸ New Frameworks popping up all over the place
▸ Retrofitting Accessibility is hard work
▸ Chasing the right framework can save you alot of time and
headaches
▸ Size of community can matter with documentation and
larger teams to focus on accessibility
▸ You will generally always be using custom elements so you
will need to learn and read up on ARIA standards
ANGULAR AND A11Y
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
ANGULAR AND A11Y
▸ Allows you to create custom HTML elements so you MUST
add aria tags to establish role, state, properties
▸ Has ngAria initiative that enables common ARIA attributes
to be easily used on elements
▸ Has community focused people on the core team who are
experienced and passionate about a11y more mature
framework which means alot of examples on the web
▸ Uses Google Material Design approach
EMBER AND A11Y
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
EMBER AND A11Y
▸ Allows you to create custom HTML elements so you MUST
add aria tags to establish role, state, properties
▸ Has role built into native components which can be modified
▸ Need to add specific calls in components for tabindex,
ariaRole, aria-label, keyDown
▸ Works on web components concepts not yet implemented
across all browsers had to create a similar experience for
Screen Readers
REACT AND A11Y
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
REACT AND A11Y
▸ Allows you to create custom HTML elements so you MUST
add aria tags to establish role, state, properties
▸ Has its own accessibility API similar to Android and iOS
▸ Advance set of Aria features built into components
▸ Has react a11y tool to perform an automated a11y check
▸ Mature framework that has an a11y initiative, wide
developer tool set and tutorials around web accessibility
POLYMER AND A11Y
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
POLYMER AND A11Y
▸ Allows you to create custom HTML elements so you MUST
add aria tags to establish role, state, properties
▸ Has common Aria calls and design concepts built into the
native framework elements
▸ Uses Google Material Design approach
▸ Early Framework and works on web components concepts
not yet implemented across all browsers had to create a
similar experience for Screen Readers
THE KEY PROBLEMS ARE
INHERENT IN THEM ALL NO
ONE FRAMEWORK IS QUEEN
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
ALL FRAMEWORKS SAME PROBLEMS
▸ Lack of use of Native HTML elements
▸ Enforce use of custom elements and DOM declarations
▸ Loss of Focus order due to DOM restructuring
▸ Overuse of Aria tags - Developer must understand
expected element interactions
▸ Accessibility as an after thought
SO WHATS THE TAKE AWAY
HERE?
Audience
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
ACCEPT THE KEY PITFALLS
▸ Introduction of custom HTML elements means more care
and concern is needed to be taken to ensure Aria roles
and states are communicated to the DOM
▸ Working with Shadow DOM, Shady DOM, Polyfills
▸ Sometimes its impossible to use Native HTML Elements
(See polymer table bug)
▸ Focus on the leading, bleeding edge technology means
accessibility is an after thought and retro fitted
CROSS BROWSER CODE AND
CROSS SCREEN READER?
Johnny Appleseed
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
SCREEN READERS AND OS
▸ Mac OSX Voice Over Safari/Firefox
▸ Mac OSX NVDA Safari/Firefox
▸ Mac OSX JAWS Safari/Firefox
▸ iOS Voice Over
▸ Windows Phone Narrator
▸ Windows JAWS Internet Explorer/FireFox/Chrome
▸ Windows NVDA Internet Explorer/FireFox/Chrome
▸ Linux ORCA Firefox/Chromium
▸ … the list keeps growing and the user experience varies greatly
SO WHERE DO I START? ARE
THERE CROSS READER TIPS?
sensible developer
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
CROSS SCREEN READER COMPATIBILITY
▸ There is a Browser API for a11y, read up on Wai-ARIA and when
testing create the component in native HTML outside of the JS
Framework to compare your custom elements behaviour to
▸ There is no standard for Screen Readers apart from Aria tags and
Native elements but this can and often is interpreted differently
by Screen Readers
▸ Native elements will create the most similar experience across all
▸ When your working with Shadow DOM, Shady DOM and Polyfills
your DOM element ordering can be different
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
UNDERSTAND ARIA
SOME QUICK CODE
APPROACHES TO PRACTICE
The Presenter
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
SOME CODE APPROACH TAKEAWAYS
▸ Use native HTML elements where you can
▸ And tabIndex=0 to custom elements not in the tab order and also
add a focus CSS style
▸ add alt tags and captions to images used to convey information
▸ manage your focus order and check cross browser and screen reader
▸ understand the interaction of the element, if its a button is the
interaction expected a space key press for Aria?
▸ Use your landmarks correctly and never apply on the body tag
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
CODE APPROACHES…. CONTINUED
▸ If native inputs can’t be used (with good reason), create
custom checkboxes with role=checkbox, aria-checked, aria-
disabled and aria-required, and wire up keyboard events.
▸ Custom elements need to tell the dom for a11y about their
ROLE, STATE and Properties
▸ add FOCUS if needed TabIndex=0 only do not increment
▸ TabIndex=0 will mean that your custom element follows
the order of structure that the DOM sees
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
BUILD ACCESSIBILITY INTO UNIT TESTS
▸ Watched ARIA properties
▸ Keyboard operability
▸ Text alternatives
▸ Semantics
GO FORTH AND MAKE THE WEB
MORE ACCESSIBLE…
The Presenter
JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP

Más contenido relacionado

La actualidad más candente

Take Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPressTake Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPress
Becky Davis
 
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
Angela Meeker
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1
Yoav Farhi
 
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
John Hartley
 
Connecting Rural Communities
Connecting Rural CommunitiesConnecting Rural Communities
Connecting Rural Communities
webhostingguy
 

La actualidad más candente (18)

Wordpress theme submission requirement for Themeforest
Wordpress theme submission requirement for ThemeforestWordpress theme submission requirement for Themeforest
Wordpress theme submission requirement for Themeforest
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Take Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPressTake Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPress
 
Web Design 101
Web Design 101Web Design 101
Web Design 101
 
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
Extending WordPress Multisite for Fun and Profit by Angie Meeker at WordPress...
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1
 
Kick start your career
Kick start your careerKick start your career
Kick start your career
 
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker
 
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
 
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
 
Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?
 
Styling WooCommerce
Styling WooCommerceStyling WooCommerce
Styling WooCommerce
 
Successful Website Design
Successful Website DesignSuccessful Website Design
Successful Website Design
 
Connecting Rural Communities
Connecting Rural CommunitiesConnecting Rural Communities
Connecting Rural Communities
 
HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)
 
WordPress and Child Themes
WordPress and Child ThemesWordPress and Child Themes
WordPress and Child Themes
 
HTML 5 & Accessibility
HTML 5 & Accessibility HTML 5 & Accessibility
HTML 5 & Accessibility
 

Destacado

Destacado (11)

ECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor BashkhazECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
ECMA5 approach to building JavaScript frameworks with Anzor Bashkhaz
 
Create a landing page
Create a landing pageCreate a landing page
Create a landing page
 
Offline Mode - Web Applications Offline
Offline Mode - Web Applications OfflineOffline Mode - Web Applications Offline
Offline Mode - Web Applications Offline
 
Zepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-FrameworksZepto and the rise of the JavaScript Micro-Frameworks
Zepto and the rise of the JavaScript Micro-Frameworks
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScript
 
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
Paweł Danielewski, Jak wygenerować 56% konwersji na Landing Page i 193.000 zł...
 
Creating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredCreating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquared
 
WebApps e Frameworks Javascript
WebApps e Frameworks JavascriptWebApps e Frameworks Javascript
WebApps e Frameworks Javascript
 
50 Landing Page Best Practices
50 Landing Page Best Practices50 Landing Page Best Practices
50 Landing Page Best Practices
 
Unobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQueryUnobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQuery
 
Writing Efficient JavaScript
Writing Efficient JavaScriptWriting Efficient JavaScript
Writing Efficient JavaScript
 

Similar a Javascript Framework Acessibiliity Review

How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
Geoff Myers
 

Similar a Javascript Framework Acessibiliity Review (20)

Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
How to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive WebsiteHow to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive Website
 
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
 
Agile mobile first
Agile mobile firstAgile mobile first
Agile mobile first
 
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (Qualit...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (Qualit...Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (Qualit...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (Qualit...
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
How to Choose the Right Theme & Customize It the Right Way (By Using a Child ...
 
How To Choose A Theme
How To Choose A ThemeHow To Choose A Theme
How To Choose A Theme
 
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
 
Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design? Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design?
 
What Is React | ReactJS Tutorial for Beginners | ReactJS Training | Edureka
What Is React | ReactJS Tutorial for Beginners | ReactJS Training | EdurekaWhat Is React | ReactJS Tutorial for Beginners | ReactJS Training | Edureka
What Is React | ReactJS Tutorial for Beginners | ReactJS Training | Edureka
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
Testing and Troubleshooting with AWS Device Farm - MBL301 - re:Invent 2017
Testing and Troubleshooting with AWS Device Farm - MBL301 - re:Invent 2017Testing and Troubleshooting with AWS Device Farm - MBL301 - re:Invent 2017
Testing and Troubleshooting with AWS Device Farm - MBL301 - re:Invent 2017
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
A Primer on Web Accessibility for Teams
A Primer on Web Accessibility for TeamsA Primer on Web Accessibility for Teams
A Primer on Web Accessibility for Teams
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
 
Wp responsive-theme-framework
Wp responsive-theme-frameworkWp responsive-theme-framework
Wp responsive-theme-framework
 

Más de Aimee Maree Forsstrom

Govhack - Collections of World War One Connecting the Dots
Govhack - Collections of World War One Connecting the DotsGovhack - Collections of World War One Connecting the Dots
Govhack - Collections of World War One Connecting the Dots
Aimee Maree Forsstrom
 

Más de Aimee Maree Forsstrom (20)

AI - PAST, PRESENT, FUTURE.pptx
AI - PAST, PRESENT, FUTURE.pptxAI - PAST, PRESENT, FUTURE.pptx
AI - PAST, PRESENT, FUTURE.pptx
 
Pioneering Technology - My Story
Pioneering Technology - My StoryPioneering Technology - My Story
Pioneering Technology - My Story
 
DOM and Accessibility API Communication
DOM and Accessibility API CommunicationDOM and Accessibility API Communication
DOM and Accessibility API Communication
 
Machine Learning ate my homework
Machine Learning ate my homeworkMachine Learning ate my homework
Machine Learning ate my homework
 
Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks
 
Accessibility, SEO and Joomla
Accessibility, SEO and JoomlaAccessibility, SEO and Joomla
Accessibility, SEO and Joomla
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
 
DeCoupling Drupal
DeCoupling DrupalDeCoupling Drupal
DeCoupling Drupal
 
Diversity through iOS Development - App Camp 4 Girls
Diversity through iOS Development - App Camp 4 GirlsDiversity through iOS Development - App Camp 4 Girls
Diversity through iOS Development - App Camp 4 Girls
 
Waving an Open Source Flag in Australian Government
Waving an Open Source Flag in Australian GovernmentWaving an Open Source Flag in Australian Government
Waving an Open Source Flag in Australian Government
 
Cyber Terrorism or Terrible Code
Cyber Terrorism or Terrible Code Cyber Terrorism or Terrible Code
Cyber Terrorism or Terrible Code
 
Govhack - Collections of World War One Connecting the Dots
Govhack - Collections of World War One Connecting the DotsGovhack - Collections of World War One Connecting the Dots
Govhack - Collections of World War One Connecting the Dots
 
Accessibility with Joomla [on a budget]
Accessibility with Joomla [on a budget]Accessibility with Joomla [on a budget]
Accessibility with Joomla [on a budget]
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
 
Introduction to Python - Training for Kids
Introduction to Python - Training for KidsIntroduction to Python - Training for Kids
Introduction to Python - Training for Kids
 
UK Communications Bill Proposed Changes 2012
UK Communications Bill Proposed Changes 2012UK Communications Bill Proposed Changes 2012
UK Communications Bill Proposed Changes 2012
 
Welcome to the World of Trolls
Welcome to the World of TrollsWelcome to the World of Trolls
Welcome to the World of Trolls
 
Drupal7 themeing changes and inheritence
Drupal7 themeing changes and inheritenceDrupal7 themeing changes and inheritence
Drupal7 themeing changes and inheritence
 
Drupal’s growth
Drupal’s growthDrupal’s growth
Drupal’s growth
 
Help me help you learn
Help me help you learnHelp me help you learn
Help me help you learn
 

Último

Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Sheetaleventcompany
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 

Último (20)

WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 

Javascript Framework Acessibiliity Review

  • 2. WHAT DOES ACCESSIBILITY MEAN? Elephant in the Room JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 3. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP WHAT DOES ACCESSIBILITY MEAN FOR ME, ▸ Access the application or website with increased font-size ▸ For video an option to use captions ▸ Option to read out content on the screen via audio at times when needed ▸ Allows for a high zoom in factor for areas of the screen ▸ Creation of new assistive devices to enhance my families life and my own
  • 4. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP WHAT DOES ACCESSIBILITY MEAN FOR YOU? ▸ Humans can access the information via assistive technologies such as Screen Readers ▸ Captions can be displayed on video ▸ As you age you can still read the text on the screen ▸ Low bandwidth users can access your website or app ▸ People on all types of devices can access your website not just iPhone or Android?
  • 5. ACCESSIBILITY IS ABOUT PEOPLE. We The People JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 6. JS FRAMEWORKS AND ACCESSIBILITY ENABLING PEOPLE TO BE ABLE TO PARTICIPATE
  • 7. THE MODERN DAY WEB IS BUILT ON JAVASCRIPT FRAMEWORKS World Wide Web JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 8. BUT JAVASCRIPT CAN’T BE MADE ACCESSIBLE? Myth Maker JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 9. BUT THE DOM HAS A WEB API AND HTML ELEMENTS ARE ACCESSIBLE? WCAG Standards JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 10. I WRITE JAVASCRIPT NOT HTML! Someone silly programmer JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 11. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP JAVASCRIPT AND HTML THE NEEDED DUO ▸ We still need HTML and CSS to layout a webpage ▸ Screen Readers and other tools look for HTML native elements ▸ JS Frameworks use javascript to inject HTML onto the webpage ▸ People like JS Frameworks they are client rendered and render quickly ▸ It can depend on the framework? Some frameworks have Aria calls built into their components, some make more use of native elements. ▸ So I don't have to worry about HTML then? Well its JS yes, but your still injecting HTML code and that is what needs to be accessible.
  • 12. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP SOME KEY ISSUES WITH JS FRAMEWORKS AND ACCESSIBILITY ▸ Custom html elements that have no state, roles, properties so the developer needs to give it this information by using aria ▸ Overuse of Aria, this leads to heavy use of aria in order to communicate the purpose of the element ▸ Control of tab focus for keyboard is problematic when your rebuilding the DOM needs a deeper level of focus ▸ Misuse of Aria-live states to announce dynamic areas to Screen readers leads to a very verbose experience
  • 13. BUT WE CAME FOR AN OVERVIEW OF JS FRAMEWORKS? The Presenter JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 14. TEXT MODERN DAY JS FRAMEWORK PROBLEMS A PLENTY ▸ New Frameworks popping up all over the place ▸ Retrofitting Accessibility is hard work ▸ Chasing the right framework can save you alot of time and headaches ▸ Size of community can matter with documentation and larger teams to focus on accessibility ▸ You will generally always be using custom elements so you will need to learn and read up on ARIA standards
  • 15. ANGULAR AND A11Y Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 16. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP ANGULAR AND A11Y ▸ Allows you to create custom HTML elements so you MUST add aria tags to establish role, state, properties ▸ Has ngAria initiative that enables common ARIA attributes to be easily used on elements ▸ Has community focused people on the core team who are experienced and passionate about a11y more mature framework which means alot of examples on the web ▸ Uses Google Material Design approach
  • 17. EMBER AND A11Y Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 18. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP EMBER AND A11Y ▸ Allows you to create custom HTML elements so you MUST add aria tags to establish role, state, properties ▸ Has role built into native components which can be modified ▸ Need to add specific calls in components for tabindex, ariaRole, aria-label, keyDown ▸ Works on web components concepts not yet implemented across all browsers had to create a similar experience for Screen Readers
  • 19. REACT AND A11Y Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 20. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP REACT AND A11Y ▸ Allows you to create custom HTML elements so you MUST add aria tags to establish role, state, properties ▸ Has its own accessibility API similar to Android and iOS ▸ Advance set of Aria features built into components ▸ Has react a11y tool to perform an automated a11y check ▸ Mature framework that has an a11y initiative, wide developer tool set and tutorials around web accessibility
  • 21. POLYMER AND A11Y Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 22. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP POLYMER AND A11Y ▸ Allows you to create custom HTML elements so you MUST add aria tags to establish role, state, properties ▸ Has common Aria calls and design concepts built into the native framework elements ▸ Uses Google Material Design approach ▸ Early Framework and works on web components concepts not yet implemented across all browsers had to create a similar experience for Screen Readers
  • 23. THE KEY PROBLEMS ARE INHERENT IN THEM ALL NO ONE FRAMEWORK IS QUEEN Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 24. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP ALL FRAMEWORKS SAME PROBLEMS ▸ Lack of use of Native HTML elements ▸ Enforce use of custom elements and DOM declarations ▸ Loss of Focus order due to DOM restructuring ▸ Overuse of Aria tags - Developer must understand expected element interactions ▸ Accessibility as an after thought
  • 25. SO WHATS THE TAKE AWAY HERE? Audience JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 26. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP ACCEPT THE KEY PITFALLS ▸ Introduction of custom HTML elements means more care and concern is needed to be taken to ensure Aria roles and states are communicated to the DOM ▸ Working with Shadow DOM, Shady DOM, Polyfills ▸ Sometimes its impossible to use Native HTML Elements (See polymer table bug) ▸ Focus on the leading, bleeding edge technology means accessibility is an after thought and retro fitted
  • 27. CROSS BROWSER CODE AND CROSS SCREEN READER? Johnny Appleseed JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 28. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP SCREEN READERS AND OS ▸ Mac OSX Voice Over Safari/Firefox ▸ Mac OSX NVDA Safari/Firefox ▸ Mac OSX JAWS Safari/Firefox ▸ iOS Voice Over ▸ Windows Phone Narrator ▸ Windows JAWS Internet Explorer/FireFox/Chrome ▸ Windows NVDA Internet Explorer/FireFox/Chrome ▸ Linux ORCA Firefox/Chromium ▸ … the list keeps growing and the user experience varies greatly
  • 29. SO WHERE DO I START? ARE THERE CROSS READER TIPS? sensible developer JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 30. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP CROSS SCREEN READER COMPATIBILITY ▸ There is a Browser API for a11y, read up on Wai-ARIA and when testing create the component in native HTML outside of the JS Framework to compare your custom elements behaviour to ▸ There is no standard for Screen Readers apart from Aria tags and Native elements but this can and often is interpreted differently by Screen Readers ▸ Native elements will create the most similar experience across all ▸ When your working with Shadow DOM, Shady DOM and Polyfills your DOM element ordering can be different
  • 31. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP UNDERSTAND ARIA
  • 32. SOME QUICK CODE APPROACHES TO PRACTICE The Presenter JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP
  • 33. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP SOME CODE APPROACH TAKEAWAYS ▸ Use native HTML elements where you can ▸ And tabIndex=0 to custom elements not in the tab order and also add a focus CSS style ▸ add alt tags and captions to images used to convey information ▸ manage your focus order and check cross browser and screen reader ▸ understand the interaction of the element, if its a button is the interaction expected a space key press for Aria? ▸ Use your landmarks correctly and never apply on the body tag
  • 34. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP CODE APPROACHES…. CONTINUED ▸ If native inputs can’t be used (with good reason), create custom checkboxes with role=checkbox, aria-checked, aria- disabled and aria-required, and wire up keyboard events. ▸ Custom elements need to tell the dom for a11y about their ROLE, STATE and Properties ▸ add FOCUS if needed TabIndex=0 only do not increment ▸ TabIndex=0 will mean that your custom element follows the order of structure that the DOM sees
  • 35. JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP BUILD ACCESSIBILITY INTO UNIT TESTS ▸ Watched ARIA properties ▸ Keyboard operability ▸ Text alternatives ▸ Semantics
  • 36. GO FORTH AND MAKE THE WEB MORE ACCESSIBLE… The Presenter JS FRAMEWORKS AND ACCESSIBILITY - @AIMEE_MAREE JSSYD MEETUP