SlideShare a Scribd company logo
1 of 63
The AsTeRICS Academy
for cross-cultural education in Assistive Technology
Module 2: Web Accessibility
Dynamic AUX, Custom controls, Progressive Enhancement
Steve Lee
Agenda
• Universal access barriers recap
• Accessibility or Assistive Technology and the web
• Web architecture and web ‚Apps‘
• Hands-On using ARIA to enhance user experiences
• Global Public Inclusive Infrastructure – GPII
• Updated slides: http://opendirective.net/M2SL.pdf
“The Web is
fundamentally
designed to work for all
people, whatever their
hardware, software,
language, culture,
location, or physical or
mental ability.“
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 6
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 7
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
12
• Driving car
• Bright light
• Noisey environment
• Under stress
Situational disability
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
13
• Adjustments to UI or additions to content
• High contrast theme
• Easy read
• Audio description
• Subtitles
Accessibility
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
14
• Transformation of UI
• Screen readers and Braille displays
• Magnifier
• Grid systems
• Gaze control
Assistive technology
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
15
• Physical AT
• OS Universal Access
• Browser Options
• Web site options
• Web AT
Adaptations to Web access
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 16
17
“One size fits One”
GPII
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
18
How does AT
access Web content?
Accessibility Stack
ASSISTIVE TECHNOLOGY
WEB APP IN BROWSER
ACCESSIBILITY API
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
20
• Expose UI to AT
• AT can
• Navigate
• Observe
• Activate
Platform Accessibility APIs
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
21
• Describes UI in terms of
• Roles
• States
• Properties
Platform Accessibility APIs
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 22
<input type="checkbox" name="option1" value="Cheese“…>

<input type="checkbox" name="option1" value="Cheese“ checked …>
Role = checkbox Properties State = unchecked
State = checked
Standard controls
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 23
<li aria-role=“checkbox ”aria-checked=“true” …>
<img src=“checked.png” role=“presentation”…>
</li>
Custom Controls with ARIA
<li>
<img src=“checked.png” …>
tabindex="0"
</li
Role = checkbox State = checked
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
24
Web access to Platform
Capabilities
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
25
• Gamepad – switch access
• Pointer events – input modes
• Speech recognition
• Text to Speech
• Camera
• Vibration
Platform APIs [new and draft]
Accessibility Stack
ASSISTIVE TECHNOLOGY
WEB APP IN BROWSER
OPERATING SYSTEM
PLATFORM API
ACCESSIBILITY API
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
27
• Complex in-browser behaviours
• Will fail for some users
• Custom UI components
• Often not fully accessible
This ‘toy’ language - Javascript
28
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
29
Web Architecture
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
30
Client Server architecture
Browser HTTP Web Site
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
31
• Standard behaviours (eg W3C)
• Server provides static web page
• Browser / page may provide some modification
• Standard controls
• Supports a wide range of devices / browsers / AT
Web as platform
Ubiqutous web
Traditional Web
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
32
• Mostly just works
• Needs some attention to detail
• Eg. Alt attrib for images
• Improve AT user experience with ARIA
• Standard controls have good accessibility
• Eg. full keyboard access
• Solid support by AT vendors
Accessibility
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
33
• Complex non standard behaviours
• Server provides data or UI snippets at any time
• Code creates UI on the fly
• Highly customised UI and controls
• Required latest browsers / AT
Browser as Platform
“Ooh shiny” Web
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
34
• Often not accessible
• Requires enlightened developer attention
• Better to use accessible libraries / framewoks
• Must provide AT user experience with ARIA
Accessibility
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 35
Example: BBC iPlayer
http://www.bbc.co.uk/iplayer
W3C WAI Tutorial for carousels
http://www.w3.org/WAI/tutorials/carousels/
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
36
Hands on
EasyChirp
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
37
• Browse to http://www.easychirp.com
• Explore – notice is traditional web with links, some styled
• Dark theme option in footer
• Open F12 browser tools and select network
• Notice when click on a link you see a request/response
Hands on – EasyChirp.com
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
38
• Sign in (or pair with someone with a twitter account)
• Click on „Write Tweet‘ and notice no new network activity
• The section is opened with javascript intercepting the click
• We can assume it is accessible 
Hands on – EasyChirp.com
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
39
Hands on
Disclosure button
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 40
• Open ?:ModulesModule2-AccessibleWeb
SteveLee_WebAccessibilitySteveLee-AsTeRICS.zip
SteveLee-AsTeRICS
• Install NVDA_2015.2exe
• Use CapsLock key
• Exit NVDA with CapsLock + Q
• Copy gpii to C:Program Files (x86)
• Copy to Desktop
• aViewer
• DisclosureButton
• GPIIdemo
Software setup
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
41
• Open file: DisclosureButton.html
• let scripts run in IE
• We show/hide with css display: based on data-expanded
• We also change the icon using the same
• The icon is pure eyecandy and follows data-expanded
Notes
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 42
<div id="example">
<button id="button" data-expanded="false">Foo
<span id="icon">
</button>
<div id="content" data-hidden="true">
<p>Lorem ipsum dolar sit amet...</p>
</div>
</div>
HTML
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 43
div[data-hidden="true"]
{
display: none;
}
div[data-hidden="false"]
{
display: block;
….
}
CSS
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 44
if(…("data-hidden") == "true")
{
content.setAttribute("data-hidden", "false");
button.setAttribute("data-expanded", "true");
}
else {
content.setAttribute("data-hidden", "true");
button.setAttribute("data-expanded", "false");
}
Javascript
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
45
• Use NVDA to explore as described.
• Try with content shown and hidden
• Exit NVDA
AT user experience
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
46
• Run the Aviewer tool as described.
• Explore the button and content when open and closed
• Notice there is no clear link between the button and text
Accessibility API
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
47
• The button has good accessibility for free
• NVDA correctly ignores the content when it is hidden
• This is because screen readers ignore display:none
• However the user doesn‘t know the content has changed
• There is no relationship between the button and content
Notes on accessibility
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
48
We can do better with just a little ARIA
• Change data-hidden to aria-hidden
• Change data-expanded to aria-expanded
• These are then passed on to the AT
• Add aria-hidden=„true“ to the icon span to hide it from AT
• Add aria_controls to the button so AT knows the
relationship
Improvement
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
49
• Now NVDA announces expansion and collapse
• The content is better represented to AT
Outcome
50
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
51
• Reach as many people as possible
• Give the best possible User experience (UX) to all
• Support as many devices as possible
• Varying capabilities
• Different screen sizes
• Support varying user access preferences
Accessibility with a small ‘a’
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
52
• Layout reflows to different screen sizes (and zoom)
• Resizable images (eg SVG)
• Change structure at size „break-points“
• Main navigation: hamburger -> horizontal buttons
• Pretty much mainstream now
• http://www.worldwildlife.org/
Responsive design
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
53
• Build up from minimum usable experience
• Add successive layers of enhancement when available
• Add bling when browser supports required features
• HTML -> CSS -> Javascript
Progressive Enhancement
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
54
• Reliance on Javascript in browser means no PE
• But PE is not just about javascript
• Need to reduce delays before seeing UI
• No SEO
• Eg. jQueryMobile uses mobile-first PE
• https://mobile.greyhound.com
• PE is back with Javascript on the server
• Send HTML page and then use same JS on client
PE in the wild
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 55
It boils down to…
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 56
Plethora of devices
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 57
Plethora of user preferences
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 58
Plethora of user preferences
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 59
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
61
• Standard controls – baked in a11y
• Custom UI elements – need a11y work
• ARIA enhances AT user experience
• PE and responsive design also enhance experience
Take home
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien
62
© 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 63

More Related Content

What's hot

High performance apps with Titanium
High performance apps with TitaniumHigh performance apps with Titanium
High performance apps with TitaniumRene Pot
 
Bentley Information Mobility update - seminar in Estonia 9/2014
Bentley Information Mobility update - seminar in Estonia 9/2014Bentley Information Mobility update - seminar in Estonia 9/2014
Bentley Information Mobility update - seminar in Estonia 9/2014Timo Tuukkanen
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Mike Douglas
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityXebiaLabs
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupPatryk Bandurski
 
The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)Alexis Monville
 
tvOS, The Focus Engine, and Swift
tvOS, The Focus Engine, and SwifttvOS, The Focus Engine, and Swift
tvOS, The Focus Engine, and SwiftEvan Maloney
 
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
Making Sense of DevOps Tools: Open Source to Enterprise SolutionsMaking Sense of DevOps Tools: Open Source to Enterprise Solutions
Making Sense of DevOps Tools: Open Source to Enterprise SolutionsClaudia Ring
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishCollabNet
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
Manila MuleSoft Meetup - May 2018
Manila MuleSoft Meetup - May 2018Manila MuleSoft Meetup - May 2018
Manila MuleSoft Meetup - May 2018Ryan Anthony Andal
 
Manila MuleSoft Meetup #4 January 2019
Manila MuleSoft Meetup #4 January 2019Manila MuleSoft Meetup #4 January 2019
Manila MuleSoft Meetup #4 January 2019Christopher Co
 
How to recognise and promote a neurodiverse workforce
How to recognise and promote a neurodiverse workforceHow to recognise and promote a neurodiverse workforce
How to recognise and promote a neurodiverse workforceAbilityNet
 
6th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 20206th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 2020Christopher Co
 
18.03.2022 api force presentation template
18.03.2022 api force presentation template18.03.2022 api force presentation template
18.03.2022 api force presentation templateAmirKhan194084
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployClaudia Ring
 
Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarClaudia Ring
 
XL Deploy Demo Slides
XL Deploy Demo SlidesXL Deploy Demo Slides
XL Deploy Demo SlidesXebiaLabs
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryXebiaLabs
 

What's hot (20)

High performance apps with Titanium
High performance apps with TitaniumHigh performance apps with Titanium
High performance apps with Titanium
 
Bentley Information Mobility update - seminar in Estonia 9/2014
Bentley Information Mobility update - seminar in Estonia 9/2014Bentley Information Mobility update - seminar in Estonia 9/2014
Bentley Information Mobility update - seminar in Estonia 9/2014
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops Productivity
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
 
The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)
 
tvOS, The Focus Engine, and Swift
tvOS, The Focus Engine, and SwifttvOS, The Focus Engine, and Swift
tvOS, The Focus Engine, and Swift
 
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
Making Sense of DevOps Tools: Open Source to Enterprise SolutionsMaking Sense of DevOps Tools: Open Source to Enterprise Solutions
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - English
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Manila MuleSoft Meetup - May 2018
Manila MuleSoft Meetup - May 2018Manila MuleSoft Meetup - May 2018
Manila MuleSoft Meetup - May 2018
 
Manila MuleSoft Meetup #4 January 2019
Manila MuleSoft Meetup #4 January 2019Manila MuleSoft Meetup #4 January 2019
Manila MuleSoft Meetup #4 January 2019
 
How to recognise and promote a neurodiverse workforce
How to recognise and promote a neurodiverse workforceHow to recognise and promote a neurodiverse workforce
How to recognise and promote a neurodiverse workforce
 
6th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 20206th Manila MuleSoft Meetup May 2020
6th Manila MuleSoft Meetup May 2020
 
18.03.2022 api force presentation template
18.03.2022 api force presentation template18.03.2022 api force presentation template
18.03.2022 api force presentation template
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
 
Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: Webinar
 
XL Deploy Demo Slides
XL Deploy Demo SlidesXL Deploy Demo Slides
XL Deploy Demo Slides
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
Customer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous DeliveryCustomer Presentation: Digital Globe's road to Continuous Delivery
Customer Presentation: Digital Globe's road to Continuous Delivery
 

Viewers also liked (20)

201504
201504201504
201504
 
Sophie and teagan
Sophie and teaganSophie and teagan
Sophie and teagan
 
Promenade dalmatienne
Promenade dalmatiennePromenade dalmatienne
Promenade dalmatienne
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salida
 
Ley N°7.485 PASO Chaco
Ley N°7.485 PASO ChacoLey N°7.485 PASO Chaco
Ley N°7.485 PASO Chaco
 
5to grado
5to grado 5to grado
5to grado
 
PS 240 Fascism Fall 2014
PS 240 Fascism Fall 2014PS 240 Fascism Fall 2014
PS 240 Fascism Fall 2014
 
Stodasos
StodasosStodasos
Stodasos
 
Sforaitul
SforaitulSforaitul
Sforaitul
 
Inovacion tecnica
Inovacion tecnicaInovacion tecnica
Inovacion tecnica
 
7 alimentos que ayudan mejorar nuestro fisico
7 alimentos que ayudan mejorar nuestro fisico7 alimentos que ayudan mejorar nuestro fisico
7 alimentos que ayudan mejorar nuestro fisico
 
Examen no adaptado
Examen no adaptadoExamen no adaptado
Examen no adaptado
 
Cuentas de usuario.
Cuentas de usuario.Cuentas de usuario.
Cuentas de usuario.
 
En blanco 7
En blanco 7En blanco 7
En blanco 7
 
Notizie di FACEBOOK
Notizie di FACEBOOKNotizie di FACEBOOK
Notizie di FACEBOOK
 
David_ Cekary_ PPP
David_ Cekary_ PPPDavid_ Cekary_ PPP
David_ Cekary_ PPP
 
portfolio small
portfolio smallportfolio small
portfolio small
 
Reunion 2014 Slideshow
Reunion 2014 SlideshowReunion 2014 Slideshow
Reunion 2014 Slideshow
 
فلسفة العلم في القرن العشرين
فلسفة العلم في القرن العشرينفلسفة العلم في القرن العشرين
فلسفة العلم في القرن العشرين
 
11n1143 横田 基 風景を借りて暮らす
11n1143 横田 基 風景を借りて暮らす11n1143 横田 基 風景を借りて暮らす
11n1143 横田 基 風景を借りて暮らす
 

Similar to Module 2-web-a11y-steve lee

Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowVincent Biret
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelinePerfecto Mobile
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CDPatryk Bandurski
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015DotNetCampus
 
How to accelerate UAT & Regression Testing
How to accelerate UAT & Regression TestingHow to accelerate UAT & Regression Testing
How to accelerate UAT & Regression TestingSensiple Inc.,
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automationViresh Doshi
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshopSufyaan Kazi
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Alan Hood
 
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 17-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 1Platform9
 
How Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development ProcessHow Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development Process3Play Media
 
Unified Communications Webinar
Unified Communications WebinarUnified Communications Webinar
Unified Communications WebinarGinny Au
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratchNikhil More
 
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterFORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterDiana Gray, MBA
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Apigee | Google Cloud
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Eugenio Minardi
 
Accessibility In Mobile Dev LifeCycle.pptx
Accessibility In Mobile Dev LifeCycle.pptxAccessibility In Mobile Dev LifeCycle.pptx
Accessibility In Mobile Dev LifeCycle.pptxMarkSteadman7
 
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Na'Tosha Bard
 

Similar to Module 2-web-a11y-steve lee (20)

Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps Pipeline
 
Managing APIs with MuleSoft
Managing APIs with MuleSoftManaging APIs with MuleSoft
Managing APIs with MuleSoft
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
How to accelerate UAT & Regression Testing
How to accelerate UAT & Regression TestingHow to accelerate UAT & Regression Testing
How to accelerate UAT & Regression Testing
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automation
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshop
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 17-Step Recipe For Continuous Integration Using OpenStack - Part 1
7-Step Recipe For Continuous Integration Using OpenStack - Part 1
 
How Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development ProcessHow Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development Process
 
Unified Communications Webinar
Unified Communications WebinarUnified Communications Webinar
Unified Communications Webinar
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia ChapterFORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
Accessibility In Mobile Dev LifeCycle.pptx
Accessibility In Mobile Dev LifeCycle.pptxAccessibility In Mobile Dev LifeCycle.pptx
Accessibility In Mobile Dev LifeCycle.pptx
 
HTML5
HTML5HTML5
HTML5
 
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
 

More from Steve Lee

2017-09-15 T4I Maavis, son on Brian is Always in Mind
2017-09-15 T4I Maavis, son on Brian is Always in Mind2017-09-15 T4I Maavis, son on Brian is Always in Mind
2017-09-15 T4I Maavis, son on Brian is Always in MindSteve Lee
 
2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStonesSteve Lee
 
Getting Reactive with Cycle.js and xstream
Getting Reactive with Cycle.js and xstreamGetting Reactive with Cycle.js and xstream
Getting Reactive with Cycle.js and xstreamSteve Lee
 
2016 11-28 t4-i_steppingstones
2016 11-28 t4-i_steppingstones2016 11-28 t4-i_steppingstones
2016 11-28 t4-i_steppingstonesSteve Lee
 
2016-08-25 TechExeter - going serverless with Azure
2016-08-25 TechExeter - going serverless with Azure2016-08-25 TechExeter - going serverless with Azure
2016-08-25 TechExeter - going serverless with AzureSteve Lee
 
Cycling for noobs
Cycling for noobsCycling for noobs
Cycling for noobsSteve Lee
 
10 min intro to web a11y
10 min intro to web a11y10 min intro to web a11y
10 min intro to web a11ySteve Lee
 
TS11 Community anti-patterns
TS11 Community anti-patternsTS11 Community anti-patterns
TS11 Community anti-patternsSteve Lee
 
Open accessibility – why is ‘open’ good for web accessibility?
Open accessibility – why is ‘open’ good for web accessibility?Open accessibility – why is ‘open’ good for web accessibility?
Open accessibility – why is ‘open’ good for web accessibility?Steve Lee
 
Mobile a11y stack
Mobile a11y stackMobile a11y stack
Mobile a11y stackSteve Lee
 

More from Steve Lee (10)

2017-09-15 T4I Maavis, son on Brian is Always in Mind
2017-09-15 T4I Maavis, son on Brian is Always in Mind2017-09-15 T4I Maavis, son on Brian is Always in Mind
2017-09-15 T4I Maavis, son on Brian is Always in Mind
 
2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones
 
Getting Reactive with Cycle.js and xstream
Getting Reactive with Cycle.js and xstreamGetting Reactive with Cycle.js and xstream
Getting Reactive with Cycle.js and xstream
 
2016 11-28 t4-i_steppingstones
2016 11-28 t4-i_steppingstones2016 11-28 t4-i_steppingstones
2016 11-28 t4-i_steppingstones
 
2016-08-25 TechExeter - going serverless with Azure
2016-08-25 TechExeter - going serverless with Azure2016-08-25 TechExeter - going serverless with Azure
2016-08-25 TechExeter - going serverless with Azure
 
Cycling for noobs
Cycling for noobsCycling for noobs
Cycling for noobs
 
10 min intro to web a11y
10 min intro to web a11y10 min intro to web a11y
10 min intro to web a11y
 
TS11 Community anti-patterns
TS11 Community anti-patternsTS11 Community anti-patterns
TS11 Community anti-patterns
 
Open accessibility – why is ‘open’ good for web accessibility?
Open accessibility – why is ‘open’ good for web accessibility?Open accessibility – why is ‘open’ good for web accessibility?
Open accessibility – why is ‘open’ good for web accessibility?
 
Mobile a11y stack
Mobile a11y stackMobile a11y stack
Mobile a11y stack
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Module 2-web-a11y-steve lee

  • 1. The AsTeRICS Academy for cross-cultural education in Assistive Technology
  • 2. Module 2: Web Accessibility Dynamic AUX, Custom controls, Progressive Enhancement Steve Lee
  • 3. Agenda • Universal access barriers recap • Accessibility or Assistive Technology and the web • Web architecture and web ‚Apps‘ • Hands-On using ARIA to enhance user experiences • Global Public Inclusive Infrastructure – GPII • Updated slides: http://opendirective.net/M2SL.pdf
  • 4.
  • 5. “The Web is fundamentally designed to work for all people, whatever their hardware, software, language, culture, location, or physical or mental ability.“
  • 6. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 6
  • 7. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 7
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 12 • Driving car • Bright light • Noisey environment • Under stress Situational disability
  • 13. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 13 • Adjustments to UI or additions to content • High contrast theme • Easy read • Audio description • Subtitles Accessibility
  • 14. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 14 • Transformation of UI • Screen readers and Braille displays • Magnifier • Grid systems • Gaze control Assistive technology
  • 15. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 15 • Physical AT • OS Universal Access • Browser Options • Web site options • Web AT Adaptations to Web access
  • 16. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 16
  • 17. 17 “One size fits One” GPII
  • 18. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 18 How does AT access Web content?
  • 19. Accessibility Stack ASSISTIVE TECHNOLOGY WEB APP IN BROWSER ACCESSIBILITY API
  • 20. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 20 • Expose UI to AT • AT can • Navigate • Observe • Activate Platform Accessibility APIs
  • 21. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 21 • Describes UI in terms of • Roles • States • Properties Platform Accessibility APIs
  • 22. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 22 <input type="checkbox" name="option1" value="Cheese“…>  <input type="checkbox" name="option1" value="Cheese“ checked …> Role = checkbox Properties State = unchecked State = checked Standard controls
  • 23. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 23 <li aria-role=“checkbox ”aria-checked=“true” …> <img src=“checked.png” role=“presentation”…> </li> Custom Controls with ARIA <li> <img src=“checked.png” …> tabindex="0" </li Role = checkbox State = checked
  • 24. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 24 Web access to Platform Capabilities
  • 25. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 25 • Gamepad – switch access • Pointer events – input modes • Speech recognition • Text to Speech • Camera • Vibration Platform APIs [new and draft]
  • 26. Accessibility Stack ASSISTIVE TECHNOLOGY WEB APP IN BROWSER OPERATING SYSTEM PLATFORM API ACCESSIBILITY API
  • 27. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 27 • Complex in-browser behaviours • Will fail for some users • Custom UI components • Often not fully accessible This ‘toy’ language - Javascript
  • 28. 28
  • 29. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 29 Web Architecture
  • 30. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 30 Client Server architecture Browser HTTP Web Site
  • 31. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 31 • Standard behaviours (eg W3C) • Server provides static web page • Browser / page may provide some modification • Standard controls • Supports a wide range of devices / browsers / AT Web as platform Ubiqutous web Traditional Web
  • 32. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 32 • Mostly just works • Needs some attention to detail • Eg. Alt attrib for images • Improve AT user experience with ARIA • Standard controls have good accessibility • Eg. full keyboard access • Solid support by AT vendors Accessibility
  • 33. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 33 • Complex non standard behaviours • Server provides data or UI snippets at any time • Code creates UI on the fly • Highly customised UI and controls • Required latest browsers / AT Browser as Platform “Ooh shiny” Web
  • 34. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 34 • Often not accessible • Requires enlightened developer attention • Better to use accessible libraries / framewoks • Must provide AT user experience with ARIA Accessibility
  • 35. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 35 Example: BBC iPlayer http://www.bbc.co.uk/iplayer W3C WAI Tutorial for carousels http://www.w3.org/WAI/tutorials/carousels/
  • 36. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 36 Hands on EasyChirp
  • 37. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 37 • Browse to http://www.easychirp.com • Explore – notice is traditional web with links, some styled • Dark theme option in footer • Open F12 browser tools and select network • Notice when click on a link you see a request/response Hands on – EasyChirp.com
  • 38. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 38 • Sign in (or pair with someone with a twitter account) • Click on „Write Tweet‘ and notice no new network activity • The section is opened with javascript intercepting the click • We can assume it is accessible  Hands on – EasyChirp.com
  • 39. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 39 Hands on Disclosure button
  • 40. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 40 • Open ?:ModulesModule2-AccessibleWeb SteveLee_WebAccessibilitySteveLee-AsTeRICS.zip SteveLee-AsTeRICS • Install NVDA_2015.2exe • Use CapsLock key • Exit NVDA with CapsLock + Q • Copy gpii to C:Program Files (x86) • Copy to Desktop • aViewer • DisclosureButton • GPIIdemo Software setup
  • 41. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 41 • Open file: DisclosureButton.html • let scripts run in IE • We show/hide with css display: based on data-expanded • We also change the icon using the same • The icon is pure eyecandy and follows data-expanded Notes
  • 42. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 42 <div id="example"> <button id="button" data-expanded="false">Foo <span id="icon"> </button> <div id="content" data-hidden="true"> <p>Lorem ipsum dolar sit amet...</p> </div> </div> HTML
  • 43. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 43 div[data-hidden="true"] { display: none; } div[data-hidden="false"] { display: block; …. } CSS
  • 44. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 44 if(…("data-hidden") == "true") { content.setAttribute("data-hidden", "false"); button.setAttribute("data-expanded", "true"); } else { content.setAttribute("data-hidden", "true"); button.setAttribute("data-expanded", "false"); } Javascript
  • 45. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 45 • Use NVDA to explore as described. • Try with content shown and hidden • Exit NVDA AT user experience
  • 46. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 46 • Run the Aviewer tool as described. • Explore the button and content when open and closed • Notice there is no clear link between the button and text Accessibility API
  • 47. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 47 • The button has good accessibility for free • NVDA correctly ignores the content when it is hidden • This is because screen readers ignore display:none • However the user doesn‘t know the content has changed • There is no relationship between the button and content Notes on accessibility
  • 48. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 48 We can do better with just a little ARIA • Change data-hidden to aria-hidden • Change data-expanded to aria-expanded • These are then passed on to the AT • Add aria-hidden=„true“ to the icon span to hide it from AT • Add aria_controls to the button so AT knows the relationship Improvement
  • 49. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 49 • Now NVDA announces expansion and collapse • The content is better represented to AT Outcome
  • 50. 50
  • 51. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 51 • Reach as many people as possible • Give the best possible User experience (UX) to all • Support as many devices as possible • Varying capabilities • Different screen sizes • Support varying user access preferences Accessibility with a small ‘a’
  • 52. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 52 • Layout reflows to different screen sizes (and zoom) • Resizable images (eg SVG) • Change structure at size „break-points“ • Main navigation: hamburger -> horizontal buttons • Pretty much mainstream now • http://www.worldwildlife.org/ Responsive design
  • 53. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 53 • Build up from minimum usable experience • Add successive layers of enhancement when available • Add bling when browser supports required features • HTML -> CSS -> Javascript Progressive Enhancement
  • 54. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 54 • Reliance on Javascript in browser means no PE • But PE is not just about javascript • Need to reduce delays before seeing UI • No SEO • Eg. jQueryMobile uses mobile-first PE • https://mobile.greyhound.com • PE is back with Javascript on the server • Send HTML page and then use same JS on client PE in the wild
  • 55. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 55 It boils down to…
  • 56. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 56 Plethora of devices
  • 57. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 57 Plethora of user preferences
  • 58. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 58 Plethora of user preferences
  • 59. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 59
  • 60.
  • 61. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 61 • Standard controls – baked in a11y • Custom UI elements – need a11y work • ARIA enhances AT user experience • PE and responsive design also enhance experience Take home
  • 62. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 62
  • 63. © 2015 Steve Lee with parts © 2013/14 FH Technikum Wien 63

Editor's Notes

  1. WWW is wonderful Access information with just a URL All people All devices
  2. Tim Berners Lee at the London Olympics Opening ceremony
  3. “This is for everyone”
  4. Technology offers the promise of social inclusion for all. We could all access media, communicate or perform daily actions without barriers without stigma for disabilities
  5. Cartoon – dog working on a computer and talking to another dog “On the internet, nobody knows you’re a dog”
  6. But many people are denied access. Whether through disabilities, literacy, age or ability to pay
  7. For example a home computer or the web cannot be accessed without adaptation.
  8. Browsers are powerful platforms now Developers bringing software engineer techniques to web dev
  9. WWW is wonderful Access information with just a URL All people All devices