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

Wordpress theme submission requirement for Themeforest
Wordpress theme submission requirement for ThemeforestWordpress theme submission requirement for Themeforest
Wordpress theme submission requirement for ThemeforestEnayet Rajib
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
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/ WordPressBecky Davis
 
Web Design 101
Web Design 101Web Design 101
Web Design 101T.S. Lim
 
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
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhoneBrian Shim
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1Yoav Farhi
 
Kick start your career
Kick start your careerKick start your career
Kick start your careerCss Founder
 
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 MeekerAngela 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 MeetupAngela Meeker
 
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
 
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?Amanda Giles
 
Styling WooCommerce
Styling WooCommerceStyling WooCommerce
Styling WooCommerceBecky Davis
 
Successful Website Design
Successful Website DesignSuccessful Website Design
Successful Website DesignBecky Davis
 
Connecting Rural Communities
Connecting Rural CommunitiesConnecting Rural Communities
Connecting Rural Communitieswebhostingguy
 
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)Andi Farr
 
WordPress and Child Themes
WordPress and Child ThemesWordPress and Child Themes
WordPress and Child Themesnairobiwordcamp
 
HTML 5 & Accessibility
HTML 5 & Accessibility HTML 5 & Accessibility
HTML 5 & Accessibility Ted Drake
 

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

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 BashkhazFITC
 
Offline Mode - Web Applications Offline
Offline Mode - Web Applications OfflineOffline Mode - Web Applications Offline
Offline Mode - Web Applications OfflinePatrick Leckey
 
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-FrameworksThomas Fuchs
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScriptdanwrong
 
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ł...Sprawny Marketing by MaxROY.com
 
Creating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredCreating responsive landing pages using LeadSquared
Creating responsive landing pages using LeadSquaredLeadSquared
 
WebApps e Frameworks Javascript
WebApps e Frameworks JavascriptWebApps e Frameworks Javascript
WebApps e Frameworks Javascriptmeet2Brains
 
50 Landing Page Best Practices
50 Landing Page Best Practices50 Landing Page Best Practices
50 Landing Page Best Practicesion interactive
 
Unobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQueryUnobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQuerySimon Willison
 
Writing Efficient JavaScript
Writing Efficient JavaScriptWriting Efficient JavaScript
Writing Efficient JavaScriptNicholas Zakas
 

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

Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
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 WebsiteJj Jurgens
 
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...Gáspár Nagy
 
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...Gáspár Nagy
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty grittyMario Noble
 
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
 
How To Choose A Theme
How To Choose A ThemeHow To Choose A Theme
How To Choose A ThemeNicky Pink
 
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 2014DouglasWaterfall
 
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? Experience Dynamics
 
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 | EdurekaEdureka!
 
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!Evan Mullins
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practicesmintersam
 
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 2017Amazon Web Services
 
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 Evan Mullins
 
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 TeamsMikey Ilagan
 
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 DevelopmentEvan Mullins
 
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 Scalescottjehl
 
Wp responsive-theme-framework
Wp responsive-theme-frameworkWp responsive-theme-framework
Wp responsive-theme-frameworkDamien Oh
 

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

DOM and Accessibility API Communication
DOM and Accessibility API CommunicationDOM and Accessibility API Communication
DOM and Accessibility API CommunicationAimee Maree Forsstrom
 
Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Aimee Maree Forsstrom
 
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 AccessibilityAimee Maree Forsstrom
 
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 GirlsAimee Maree Forsstrom
 
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 GovernmentAimee 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 DotsAimee Maree Forsstrom
 
Accessibility with Joomla [on a budget]
Accessibility with Joomla [on a budget]Accessibility with Joomla [on a budget]
Accessibility with Joomla [on a budget]Aimee Maree Forsstrom
 
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)Aimee Maree Forsstrom
 
Introduction to Python - Training for Kids
Introduction to Python - Training for KidsIntroduction to Python - Training for Kids
Introduction to Python - Training for KidsAimee Maree Forsstrom
 
UK Communications Bill Proposed Changes 2012
UK Communications Bill Proposed Changes 2012UK Communications Bill Proposed Changes 2012
UK Communications Bill Proposed Changes 2012Aimee Maree Forsstrom
 
Drupal7 themeing changes and inheritence
Drupal7 themeing changes and inheritenceDrupal7 themeing changes and inheritence
Drupal7 themeing changes and inheritenceAimee 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

定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 

Último (20)

Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 

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