SlideShare a Scribd company logo
1 of 16
Download to read offline
Web
Accessibility –
We're All In
This Together!
ThoughtWorks Team
Meeting – January 2013
London, UK



Andrew Ronksley
Digital Accessibility Development Officer
Royal National Institute of Blind People
What's an “assistive technology”?

And does anyone in the room use any?

Sure, any specialist software / hardware
designed for disabled people counts, but
does anything else count as well?
Despite it being smashed beyond
belief, my mobile to me (and to
everyone) is an “assistive
technology”.

Without it, I can't call my mum
because human hearing doesn't
work over a range of 200 or so
miles.

I need the technology to “extend
my capabilities as a human”.

To that end, I see almost all
technologies as “assistive
technologies”.

So I normally just refer to
“technology” these days.
Simple steps to improving web accessibility...
Don't use fixed font sizes and colours...
                          Designers want it “my
                          way”. Let users take the
                          “highway” if they want.


                          Keep all styles in external
                          CSS (avoid inline styles).


                          Avoid “px” values for
                          font-size and line-heights
                          (Internet Explorer won't
                          resize them).


                          A style switcher is nice to
                          have but not an essential
                          feature.
Consistency is a virtue...

                   Aim for consistency across your
                   interface both in terms of locations
                   and shape / colours of items.


                   Give your design room to breathe
                   but avoid large amounts of white
                   space between related controls.
                   Pure white space is difficult to
                   traverse for screen magnification
                   users.


                   Consistency can really help
                   disabled users once they become
                   familiar with your site or
                   application.
Give your mouse the day off...
...test with the keyboard only.
Be kind. Be semantic.
                        Write great, descriptive HTML. Use
                        <title>, <h1-h6>, <ul><li>, <label
                        for=””>.


                        Alt attributes – describe the purpose
                        of the image. If it doesn't have a
                        purpose, use alt=”” or a css
                        background image instead.


                        Link text – every time you use “Click
                        here” something bad happens to my
                        niece's kitten.


                        If you have tabular data use table
                        markup! <th>, <td> and scope.


                        CSS – be careful with display: none.
                        Screen readers parse this and won't
                        always read content out (which may
                        be what you want). Use absolute
                        positioning off-screen if you want the
                        content available though.
Test it with real end users...
...make sure it's not a car crash!
JavaScript...doer of accessibility evil!
                       Sensationalist and not true! Like
                       any other web technology, it
                       comes down to how you use it.


                       To my knowledge, screen readers
                       don't parse JavaScript directly.


                       They rely on information given to
                       them from the browser via the
                       platform accessibility API for the
                       operating system in use.


                       Where JavaScript causes a
                       problem is when it manipulates
                       the DOM without a page reload
                       and is used to create custom
                       “widgets” that don't natively
                       exist in HTML.
How does WAI-ARIA help?
                      Despite being intrinsically
                      linked with JavaScript,
                      WAI-ARIA is actually a
                      “semantic plaster /
                      bandaid” for HTML (not
                      bacon flavoured
                      unfortunately!)


                      ARIA markup is just
                      additional attributes that
                      you can add to your HTML
                      document and manipulate
                      through your scripts.


                      It's super easy and
                      already comes “baked-in”
                      to a lot of popular
                      JavaScript UI libraries.
How does WAI-ARIA help?
                   ARIA allows you to specify what
                   the role of something is, e.g. if
                   you have a bunch of <div>
                   elements faking a menu, use
                   role=”menu” and
                   role=”menuitem” to “repair” it.


                   Using ARIA you can also mark
                   an element of a page as a “live
                   region” if it gets updated
                   dynamically through DOM
                   manipulation or the result of an
                   AJAX call.


                   Guess what? Most of this stuff
                   needs both browser and screen
                   reader support!
What's the deal with WAI-ARIA and HTML5?
                    HTML5 is incorporating elements of
                    ARIA. For example, there's a native
                    <menu> element which can be used
                    rather than <div> and role=”menu” and
                    <input type=”range”> can be used
                    instead of role=”slider”.


                    ARIA has support for more widgets than
                    HTML5 native elements though. For
                    example, tree views, modal dialogs and
                    live regions. It's not dead as a
                    specification yet.


                    The HTML5 specification has a number of
                    mapping tables that outline the
                    relationship between the two
                    specifications. They're definitely worth
                    checking out.


                    Finally, I don't need to tell you that
                    HTML5 depends on browser support as
                    well!
Thanks for listening! Any questions?
www.rnib.org.uk/wac

www.rnib.org.uk/professionals/softwareandtechnology

www.paciellogroup.com/blog/ (for the latest WAI-ARIA / HTML5
information)

www.linkedin.com/in/andrewronksley
Thanks to the following awesome Flickr users for letting me use their images:

http://www.flickr.com/photos/altogetherfool/3543142490/
http://www.flickr.com/photos/--sam--/4486809849/
http://www.flickr.com/photos/guydonges/2649517251/
http://www.flickr.com/photos/kenwilcox/3883031017/
http://www.flickr.com/photos/functoruser/2437807188/
http://www.flickr.com/photos/30998987@N03/5408763997/
http://www.flickr.com/photos/eamoncurry/3335785800/
http://www.flickr.com/photos/methodshop/6397366607/
http://www.flickr.com/photos/arnehendriks/3360303148/
http://www.flickr.com/photos/22290288@N03/5865026309/
http://www.flickr.com/photos/11513812@N02/1394620294/
http://www.flickr.com/photos/junit16/6036682072/
http://www.flickr.com/photos/wwworks/4759535950/

More Related Content

Similar to Web Accessibility - We're All In This Together!

WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...Patrick Lauke
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web developmentEstelle Weyl
 
Making JavaScript Accessible
Making JavaScript AccessibleMaking JavaScript Accessible
Making JavaScript AccessibleDennis Lembree
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web ApplicationDennis Lembree
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Steven Faulkner
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018Patrick Lauke
 
From Flash to Canvas - a penchant for black holes
From Flash to Canvas - a penchant for black holesFrom Flash to Canvas - a penchant for black holes
From Flash to Canvas - a penchant for black holesPatric Lanhed
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty grittyMario Noble
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIAIWMW
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and moreYan Shi
 
Web app and more
Web app and moreWeb app and more
Web app and morefaming su
 
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionBuild 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionWindows Developer
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...Patrick Lauke
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...Patrick Lauke
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with SilverlightJosh Holmes
 
Web Accessibility Gone Wild (Now Even MORE Wilder!)
Web Accessibility Gone Wild (Now Even MORE Wilder!)Web Accessibility Gone Wild (Now Even MORE Wilder!)
Web Accessibility Gone Wild (Now Even MORE Wilder!)Jared Smith
 
jQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivejQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivePeter Rozek
 

Similar to Web Accessibility - We're All In This Together! (20)

WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web development
 
Making JavaScript Accessible
Making JavaScript AccessibleMaking JavaScript Accessible
Making JavaScript Accessible
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web Application
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
 
From Flash to Canvas - a penchant for black holes
From Flash to Canvas - a penchant for black holesFrom Flash to Canvas - a penchant for black holes
From Flash to Canvas - a penchant for black holes
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIA
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionBuild 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with Silverlight
 
Web Accessibility Gone Wild (Now Even MORE Wilder!)
Web Accessibility Gone Wild (Now Even MORE Wilder!)Web Accessibility Gone Wild (Now Even MORE Wilder!)
Web Accessibility Gone Wild (Now Even MORE Wilder!)
 
jQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivejQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und Responsive
 
Aria interview questions
Aria interview questionsAria interview questions
Aria interview questions
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Web Accessibility - We're All In This Together!

  • 1. Web Accessibility – We're All In This Together! ThoughtWorks Team Meeting – January 2013 London, UK Andrew Ronksley Digital Accessibility Development Officer Royal National Institute of Blind People
  • 2. What's an “assistive technology”? And does anyone in the room use any? Sure, any specialist software / hardware designed for disabled people counts, but does anything else count as well?
  • 3. Despite it being smashed beyond belief, my mobile to me (and to everyone) is an “assistive technology”. Without it, I can't call my mum because human hearing doesn't work over a range of 200 or so miles. I need the technology to “extend my capabilities as a human”. To that end, I see almost all technologies as “assistive technologies”. So I normally just refer to “technology” these days.
  • 4. Simple steps to improving web accessibility...
  • 5. Don't use fixed font sizes and colours... Designers want it “my way”. Let users take the “highway” if they want. Keep all styles in external CSS (avoid inline styles). Avoid “px” values for font-size and line-heights (Internet Explorer won't resize them). A style switcher is nice to have but not an essential feature.
  • 6. Consistency is a virtue... Aim for consistency across your interface both in terms of locations and shape / colours of items. Give your design room to breathe but avoid large amounts of white space between related controls. Pure white space is difficult to traverse for screen magnification users. Consistency can really help disabled users once they become familiar with your site or application.
  • 7. Give your mouse the day off... ...test with the keyboard only.
  • 8. Be kind. Be semantic. Write great, descriptive HTML. Use <title>, <h1-h6>, <ul><li>, <label for=””>. Alt attributes – describe the purpose of the image. If it doesn't have a purpose, use alt=”” or a css background image instead. Link text – every time you use “Click here” something bad happens to my niece's kitten. If you have tabular data use table markup! <th>, <td> and scope. CSS – be careful with display: none. Screen readers parse this and won't always read content out (which may be what you want). Use absolute positioning off-screen if you want the content available though.
  • 9. Test it with real end users... ...make sure it's not a car crash!
  • 10. JavaScript...doer of accessibility evil! Sensationalist and not true! Like any other web technology, it comes down to how you use it. To my knowledge, screen readers don't parse JavaScript directly. They rely on information given to them from the browser via the platform accessibility API for the operating system in use. Where JavaScript causes a problem is when it manipulates the DOM without a page reload and is used to create custom “widgets” that don't natively exist in HTML.
  • 11. How does WAI-ARIA help? Despite being intrinsically linked with JavaScript, WAI-ARIA is actually a “semantic plaster / bandaid” for HTML (not bacon flavoured unfortunately!) ARIA markup is just additional attributes that you can add to your HTML document and manipulate through your scripts. It's super easy and already comes “baked-in” to a lot of popular JavaScript UI libraries.
  • 12. How does WAI-ARIA help? ARIA allows you to specify what the role of something is, e.g. if you have a bunch of <div> elements faking a menu, use role=”menu” and role=”menuitem” to “repair” it. Using ARIA you can also mark an element of a page as a “live region” if it gets updated dynamically through DOM manipulation or the result of an AJAX call. Guess what? Most of this stuff needs both browser and screen reader support!
  • 13. What's the deal with WAI-ARIA and HTML5? HTML5 is incorporating elements of ARIA. For example, there's a native <menu> element which can be used rather than <div> and role=”menu” and <input type=”range”> can be used instead of role=”slider”. ARIA has support for more widgets than HTML5 native elements though. For example, tree views, modal dialogs and live regions. It's not dead as a specification yet. The HTML5 specification has a number of mapping tables that outline the relationship between the two specifications. They're definitely worth checking out. Finally, I don't need to tell you that HTML5 depends on browser support as well!
  • 14. Thanks for listening! Any questions?
  • 15. www.rnib.org.uk/wac www.rnib.org.uk/professionals/softwareandtechnology www.paciellogroup.com/blog/ (for the latest WAI-ARIA / HTML5 information) www.linkedin.com/in/andrewronksley
  • 16. Thanks to the following awesome Flickr users for letting me use their images: http://www.flickr.com/photos/altogetherfool/3543142490/ http://www.flickr.com/photos/--sam--/4486809849/ http://www.flickr.com/photos/guydonges/2649517251/ http://www.flickr.com/photos/kenwilcox/3883031017/ http://www.flickr.com/photos/functoruser/2437807188/ http://www.flickr.com/photos/30998987@N03/5408763997/ http://www.flickr.com/photos/eamoncurry/3335785800/ http://www.flickr.com/photos/methodshop/6397366607/ http://www.flickr.com/photos/arnehendriks/3360303148/ http://www.flickr.com/photos/22290288@N03/5865026309/ http://www.flickr.com/photos/11513812@N02/1394620294/ http://www.flickr.com/photos/junit16/6036682072/ http://www.flickr.com/photos/wwworks/4759535950/