SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Totally not-boring super awesome good




                          accessibility    practice




Tuesday, 12 February 13
Why?
                 • I felt out of touch

                 • I started reading and refreshing my own knowledge

                 • A lot has changed with HTML5 etc

                 • Why not TBX uni?

                     • Everyone can do with a refresher

                     • Wider accessibility stuff might be new

Tuesday, 12 February 13
why?
                 • Lots of myths & outdated guidance

                 • Guidelines changing/evolving

                 • A quick run through, some code, come not. Some higher-level
                   stuff

                 • Sorry if you know this stuff

                 • Lots out there, will share links later


Tuesday, 12 February 13
about accessibility
                 • Not just visual

                 • Lots more considerations

                     • Motor

                     • Auditory

                     • Cognition

                 • Not just about disability

Tuesday, 12 February 13
about accessibility
                 • English as a second or third language

                 • Hostile browsing environments

                     • Outdoors

                     • On a train with an unreliable data connection

                 • These aren’t strictly accessibility problems, but an accessible
                   site is better for everyone


Tuesday, 12 February 13
Colours
                 • Understand the guidelines

                 • Colour not only indicator

                 • Sufficient contrast

                     • except ‘incidental content’

                     • Large type has lower contrast ratio

                 • Check early and often

Tuesday, 12 February 13
Tuesday, 12 February 13
Tuesday, 12 February 13
text size
                 • Everyone zooms

                 • It shouldn’t break the page layout

                 • Use relative units combined with responsive
                   design




Tuesday, 12 February 13
text size
                 • To ensure a robust layout we should use relative units of
                   measure for everything

                     • Text size (ems or rems)

                     • Line-height (ems or rems)

                     • Padding/Margin (ems, rems or %)

                     • Media queries (ems)


Tuesday, 12 February 13
movement
                 • More myths around this than most

                 • Things that move take attention

                 • Attention interruptions are sometimes necessary

                     • But are bad during intensive tasks

                     • Really bad for people with learning difficulties or ADHD



Tuesday, 12 February 13
movement
                 • More myths around this than most

                 • Movement is fine, as long as:

                     • Initiated by the user

                     • Controllable

                          • Speed

                          • Pause/restart

Tuesday, 12 February 13
how and when to hide stuff
                          <h2>Navigation menu</h2>

                     <ul>
                           <li><a href="#">Home</a></li>

                           <li><a href="#">About</a></li>
                           <li><a href="#">News</a></li>
                           <li><a href="#">Prices</a></li>

                     </ul>




Tuesday, 12 February 13
Hide from everyone
                    /* Hidden and not read out */

                    h2 {

                          display: none

                    }




Tuesday, 12 February 13
Hide from sight
                    /* Read out but visually hidden */

                    h2 {

                          position: absolute !important;

                          height: 1px; width: 1px;

                          overflow: hidden;

                          clip: rect(1px 1px 1px 1px); /* IE6, IE7 */

                          clip: rect(1px, 1px, 1px, 1px);

                    }




Tuesday, 12 February 13
keyboard controls
                 • A TBX uni topic all in itself

                 • But a few nice tips




Tuesday, 12 February 13
Keyboard controls :focus
              • Focus is a visual indicator for your position in the dom when
                using keyboard

              • When you define :hover, always define :focus

              • Mixins!




Tuesday, 12 February 13
Keyboard controls sweet focus mixin
                  @mixin hoverActiveFocus($property, $value) {
                           &:hover, &:active, &:focus {
                               #{$property}: $value   }
                  }


                  @include hoverActiveFocus(a, #dd4400);


                  a:hover, a:active, a:focus {
                          color: #dd4400;
                  }




Tuesday, 12 February 13
Keyboard controls tabindex
              • I ❤ tabindex

              • Use tabindex to dictate keyboard tab order
                    <input tabindex=”2”>

                    <input tabindex=”1”>

                    <input tabindex=”100”>




Tuesday, 12 February 13
Keyboard controls tabindex
                    <h1><a href="#">Home</a></h1>
                      <ul>
                          <li><a href="#">Home</a></li>
                          <li><a href="#">About</a></li>
                          <li><a href="#">News</a></li>
                          <li><a href="#">Prices</a></li>
                      </ul>




Tuesday, 12 February 13
Keyboard controls tabindex
                    <h1><a href="#">Home</a></h1>
                      <ul>
                          <li><a href="#" tabindex="-1" >Home</a></li>
                          <li><a href="#">About</a></li>
                          <li><a href="#">News</a></li>
                          <li><a href="#">Prices</a></li>
                      </ul>



                 • Will no longer tab


Tuesday, 12 February 13
Keyboard controls js
              • Make sure JS can be controlled with keyboard

              • Hover = focus

              • Easy with jQuery
                    $('.menu').bind('hover focus', function() {

                          //do a thing

                    });




Tuesday, 12 February 13
aria roles
                 • Add semantic meaning to content over and above HTML
                   elements

                 • Assistive tech uses them




Tuesday, 12 February 13
aria roles Examples
                    <nav role="nav">

                          <ul>

                             <li><a href="#">Home</a></li>

                             <li><a href="#">About</a></li>

                             <li><a href="#">News</a></li>

                             <li><a href="#">Prices</a></li>

                          </ul>

                    </nav>




Tuesday, 12 February 13
aria roles Examples
                    <aside role="complementary">

                          <h2>Did you know?</h2>

                          <p>Runs are deeper than riffles</p>

                    </aside>



                    You can use CSS to target roles!
                    aside[role="complementary"] {

                          font-size: 0.875em;

                    }


Tuesday, 12 February 13
aria roles Examples
                    <footer role="contentinfo">

                    
  <p>Written by <a rel="author" href="http://twitter.com/profile"
                    title="@newcurator on Twitter">Pete Martin</a>. Published <time
                    datetime="…">19 September 2012</time></p>

                    </footer>



                    <section role="main">

                    
     <p>I’m about to be expanded into my own special element!</p>

                    </section>



Tuesday, 12 February 13
aria roles Examples
                    <input type=”search” role=”search” />



                    This one is super important for assistive tech


                    Which brings us onto forms...




Tuesday, 12 February 13
forms
                 • A giant topic in itself, but some quick tips

                     • Give stuff labels

                          • Placeholders aren’t labels

                          • Give stuff labels

                          • Even single fields

                     • Aria roles! aria-required="true"

Tuesday, 12 February 13
forms
                 • Beware of using <p> etc in forms

                     • Screenreaders in forms mode probably ignore non form tags




Tuesday, 12 February 13
forms fieldset
                     • Group common fields using fieldset
                    <fieldset>

                          <legend>What is your favorite animal?</legend>

                        <input type="radio" name="animal" id="Cat" /> <label for="Cat">Cat</
                    label>

                        <input type="radio" name="animal" id="Dog" checked="checked" />
                    <label for="Dog">Dog</label>

                        <input type="radio" name="animal" id="Rabbit" /> <label
                    for="Rabbit">Rabbit</label>

                    </fieldset>

Tuesday, 12 February 13
document outline
                 • Thanks to HTML5 and all the new elements this is complicated

                 • Lots of debate over how section etc has changed outline

                 • Stick to traditional for now

                 • Use headings in order, don’t jump levels

                 • Keep a picture of the outline in your head



Tuesday, 12 February 13
Comprehension
                 • Content with no specific audience should be aimed at 12-15 year
                   olds

                 • There are tools to measure this

                     • Read-able.com

                     • Readability Test - Juicy Studio

                     • Microsoft Office


Tuesday, 12 February 13
Wider accessibility stuff
                 • No more code I promise




Tuesday, 12 February 13
offline accessibility
                 • Accessibility not just about code

                 • Content must be accessible too, considerations our client must
                   make

                 • Example




Tuesday, 12 February 13
Tuesday, 12 February 13
Tuesday, 12 February 13
Tuesday, 12 February 13
service design
                     • “Before you start this giant form, you’ll need the following...”




Tuesday, 12 February 13
How to get better at this stuff
                 • We’re pretty good already!

                 • Can always improve

                 • Familiarise yourself with basics

                 • Know where to look for details

                 • Test. Seriously.



Tuesday, 12 February 13
Use a screenreader
                 • Impress your friends

                 • Terrify yourself

                 • You’ve got one

                     • Mac Voiceover ⌘ + F5




Tuesday, 12 February 13
other stuff
                     • Navigate with a keyboard

                     • Snoop on each other’s code

                     • Install an extension




Tuesday, 12 February 13

Weitere ähnliche Inhalte

Andere mochten auch

Laura's Tutorial #7 - Interviews
Laura's Tutorial #7 - InterviewsLaura's Tutorial #7 - Interviews
Laura's Tutorial #7 - Interviewslothwe
 
Tutorial #3 - Resume Intro
Tutorial #3 - Resume IntroTutorial #3 - Resume Intro
Tutorial #3 - Resume Introlothwe
 
מצגת תורה ומדע בכפר
מצגת תורה ומדע בכפרמצגת תורה ומדע בכפר
מצגת תורה ומדע בכפרanpol2013
 
El ocaso de los borbones
El ocaso de los borbonesEl ocaso de los borbones
El ocaso de los borbonesenvido5
 
Laura's Tutorial #6 - Cover Letter Peer Review
Laura's Tutorial #6 - Cover Letter Peer ReviewLaura's Tutorial #6 - Cover Letter Peer Review
Laura's Tutorial #6 - Cover Letter Peer Reviewlothwe
 
Presentation Design 202
Presentation Design 202Presentation Design 202
Presentation Design 202lothwe
 
Znanje je najsigurnija investicija u buducnost
Znanje je najsigurnija investicija u buducnostZnanje je najsigurnija investicija u buducnost
Znanje je najsigurnija investicija u buducnostDušica Urošević
 
Laura's Tutorial #2
Laura's Tutorial #2Laura's Tutorial #2
Laura's Tutorial #2lothwe
 
Tutorial #4 - Resume Peer Review
Tutorial #4 - Resume Peer ReviewTutorial #4 - Resume Peer Review
Tutorial #4 - Resume Peer Reviewlothwe
 
Laura's Tutorial #1 - StrengthsQuest
Laura's Tutorial #1 - StrengthsQuestLaura's Tutorial #1 - StrengthsQuest
Laura's Tutorial #1 - StrengthsQuestlothwe
 
Laura's Tutorial #5 - Cover Letters
Laura's Tutorial #5 - Cover LettersLaura's Tutorial #5 - Cover Letters
Laura's Tutorial #5 - Cover Letterslothwe
 

Andere mochten auch (13)

Laura's Tutorial #7 - Interviews
Laura's Tutorial #7 - InterviewsLaura's Tutorial #7 - Interviews
Laura's Tutorial #7 - Interviews
 
Tutorial #3 - Resume Intro
Tutorial #3 - Resume IntroTutorial #3 - Resume Intro
Tutorial #3 - Resume Intro
 
מצגת תורה ומדע בכפר
מצגת תורה ומדע בכפרמצגת תורה ומדע בכפר
מצגת תורה ומדע בכפר
 
El ocaso de los borbones
El ocaso de los borbonesEl ocaso de los borbones
El ocaso de los borbones
 
Comm lecture 2013a
Comm lecture 2013aComm lecture 2013a
Comm lecture 2013a
 
Nat king cole
Nat king coleNat king cole
Nat king cole
 
Laura's Tutorial #6 - Cover Letter Peer Review
Laura's Tutorial #6 - Cover Letter Peer ReviewLaura's Tutorial #6 - Cover Letter Peer Review
Laura's Tutorial #6 - Cover Letter Peer Review
 
Presentation Design 202
Presentation Design 202Presentation Design 202
Presentation Design 202
 
Znanje je najsigurnija investicija u buducnost
Znanje je najsigurnija investicija u buducnostZnanje je najsigurnija investicija u buducnost
Znanje je najsigurnija investicija u buducnost
 
Laura's Tutorial #2
Laura's Tutorial #2Laura's Tutorial #2
Laura's Tutorial #2
 
Tutorial #4 - Resume Peer Review
Tutorial #4 - Resume Peer ReviewTutorial #4 - Resume Peer Review
Tutorial #4 - Resume Peer Review
 
Laura's Tutorial #1 - StrengthsQuest
Laura's Tutorial #1 - StrengthsQuestLaura's Tutorial #1 - StrengthsQuest
Laura's Tutorial #1 - StrengthsQuest
 
Laura's Tutorial #5 - Cover Letters
Laura's Tutorial #5 - Cover LettersLaura's Tutorial #5 - Cover Letters
Laura's Tutorial #5 - Cover Letters
 

Ähnlich wie Torchbox University Accessibility

Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Vincent Everts
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.Stephen Woods
 
Performance for Product Developers
Performance for Product DevelopersPerformance for Product Developers
Performance for Product DevelopersMatthew Wilkes
 
Becoming a Productivity Ninja
Becoming a Productivity NinjaBecoming a Productivity Ninja
Becoming a Productivity Ninjaevantravers
 
Cloud Messaging With Cloud Foundry
Cloud Messaging With Cloud FoundryCloud Messaging With Cloud Foundry
Cloud Messaging With Cloud FoundryAlvaro Videla
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureChris Mills
 
Client Sites: The Aftermath
Client Sites: The AftermathClient Sites: The Aftermath
Client Sites: The AftermathWPMU DEV
 
component: ruby gems for the browser
component: ruby gems for the browsercomponent: ruby gems for the browser
component: ruby gems for the browserTimothy Oxley
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressiparr
 

Ähnlich wie Torchbox University Accessibility (11)

Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Presentatie Document lifecycle2012
Presentatie Document lifecycle2012
 
Measure Everything
Measure EverythingMeasure Everything
Measure Everything
 
13 0212 toccon - carpenter altmetrics 2
13 0212 toccon - carpenter altmetrics 213 0212 toccon - carpenter altmetrics 2
13 0212 toccon - carpenter altmetrics 2
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.
 
Performance for Product Developers
Performance for Product DevelopersPerformance for Product Developers
Performance for Product Developers
 
Becoming a Productivity Ninja
Becoming a Productivity NinjaBecoming a Productivity Ninja
Becoming a Productivity Ninja
 
Cloud Messaging With Cloud Foundry
Cloud Messaging With Cloud FoundryCloud Messaging With Cloud Foundry
Cloud Messaging With Cloud Foundry
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
 
Client Sites: The Aftermath
Client Sites: The AftermathClient Sites: The Aftermath
Client Sites: The Aftermath
 
component: ruby gems for the browser
component: ruby gems for the browsercomponent: ruby gems for the browser
component: ruby gems for the browser
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPress
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
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 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Torchbox University Accessibility

  • 1. Totally not-boring super awesome good accessibility practice Tuesday, 12 February 13
  • 2. Why? • I felt out of touch • I started reading and refreshing my own knowledge • A lot has changed with HTML5 etc • Why not TBX uni? • Everyone can do with a refresher • Wider accessibility stuff might be new Tuesday, 12 February 13
  • 3. why? • Lots of myths & outdated guidance • Guidelines changing/evolving • A quick run through, some code, come not. Some higher-level stuff • Sorry if you know this stuff • Lots out there, will share links later Tuesday, 12 February 13
  • 4. about accessibility • Not just visual • Lots more considerations • Motor • Auditory • Cognition • Not just about disability Tuesday, 12 February 13
  • 5. about accessibility • English as a second or third language • Hostile browsing environments • Outdoors • On a train with an unreliable data connection • These aren’t strictly accessibility problems, but an accessible site is better for everyone Tuesday, 12 February 13
  • 6. Colours • Understand the guidelines • Colour not only indicator • Sufficient contrast • except ‘incidental content’ • Large type has lower contrast ratio • Check early and often Tuesday, 12 February 13
  • 9. text size • Everyone zooms • It shouldn’t break the page layout • Use relative units combined with responsive design Tuesday, 12 February 13
  • 10. text size • To ensure a robust layout we should use relative units of measure for everything • Text size (ems or rems) • Line-height (ems or rems) • Padding/Margin (ems, rems or %) • Media queries (ems) Tuesday, 12 February 13
  • 11. movement • More myths around this than most • Things that move take attention • Attention interruptions are sometimes necessary • But are bad during intensive tasks • Really bad for people with learning difficulties or ADHD Tuesday, 12 February 13
  • 12. movement • More myths around this than most • Movement is fine, as long as: • Initiated by the user • Controllable • Speed • Pause/restart Tuesday, 12 February 13
  • 13. how and when to hide stuff <h2>Navigation menu</h2> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">News</a></li> <li><a href="#">Prices</a></li> </ul> Tuesday, 12 February 13
  • 14. Hide from everyone /* Hidden and not read out */ h2 { display: none } Tuesday, 12 February 13
  • 15. Hide from sight /* Read out but visually hidden */ h2 { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); } Tuesday, 12 February 13
  • 16. keyboard controls • A TBX uni topic all in itself • But a few nice tips Tuesday, 12 February 13
  • 17. Keyboard controls :focus • Focus is a visual indicator for your position in the dom when using keyboard • When you define :hover, always define :focus • Mixins! Tuesday, 12 February 13
  • 18. Keyboard controls sweet focus mixin @mixin hoverActiveFocus($property, $value) { &:hover, &:active, &:focus { #{$property}: $value } } @include hoverActiveFocus(a, #dd4400); a:hover, a:active, a:focus { color: #dd4400; } Tuesday, 12 February 13
  • 19. Keyboard controls tabindex • I ❤ tabindex • Use tabindex to dictate keyboard tab order <input tabindex=”2”> <input tabindex=”1”> <input tabindex=”100”> Tuesday, 12 February 13
  • 20. Keyboard controls tabindex <h1><a href="#">Home</a></h1> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">News</a></li> <li><a href="#">Prices</a></li> </ul> Tuesday, 12 February 13
  • 21. Keyboard controls tabindex <h1><a href="#">Home</a></h1> <ul> <li><a href="#" tabindex="-1" >Home</a></li> <li><a href="#">About</a></li> <li><a href="#">News</a></li> <li><a href="#">Prices</a></li> </ul> • Will no longer tab Tuesday, 12 February 13
  • 22. Keyboard controls js • Make sure JS can be controlled with keyboard • Hover = focus • Easy with jQuery $('.menu').bind('hover focus', function() { //do a thing }); Tuesday, 12 February 13
  • 23. aria roles • Add semantic meaning to content over and above HTML elements • Assistive tech uses them Tuesday, 12 February 13
  • 24. aria roles Examples <nav role="nav"> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">News</a></li> <li><a href="#">Prices</a></li> </ul> </nav> Tuesday, 12 February 13
  • 25. aria roles Examples <aside role="complementary"> <h2>Did you know?</h2> <p>Runs are deeper than riffles</p> </aside> You can use CSS to target roles! aside[role="complementary"] { font-size: 0.875em; } Tuesday, 12 February 13
  • 26. aria roles Examples <footer role="contentinfo"> <p>Written by <a rel="author" href="http://twitter.com/profile" title="@newcurator on Twitter">Pete Martin</a>. Published <time datetime="…">19 September 2012</time></p> </footer> <section role="main"> <p>I’m about to be expanded into my own special element!</p> </section> Tuesday, 12 February 13
  • 27. aria roles Examples <input type=”search” role=”search” /> This one is super important for assistive tech Which brings us onto forms... Tuesday, 12 February 13
  • 28. forms • A giant topic in itself, but some quick tips • Give stuff labels • Placeholders aren’t labels • Give stuff labels • Even single fields • Aria roles! aria-required="true" Tuesday, 12 February 13
  • 29. forms • Beware of using <p> etc in forms • Screenreaders in forms mode probably ignore non form tags Tuesday, 12 February 13
  • 30. forms fieldset • Group common fields using fieldset <fieldset> <legend>What is your favorite animal?</legend> <input type="radio" name="animal" id="Cat" /> <label for="Cat">Cat</ label> <input type="radio" name="animal" id="Dog" checked="checked" /> <label for="Dog">Dog</label> <input type="radio" name="animal" id="Rabbit" /> <label for="Rabbit">Rabbit</label> </fieldset> Tuesday, 12 February 13
  • 31. document outline • Thanks to HTML5 and all the new elements this is complicated • Lots of debate over how section etc has changed outline • Stick to traditional for now • Use headings in order, don’t jump levels • Keep a picture of the outline in your head Tuesday, 12 February 13
  • 32. Comprehension • Content with no specific audience should be aimed at 12-15 year olds • There are tools to measure this • Read-able.com • Readability Test - Juicy Studio • Microsoft Office Tuesday, 12 February 13
  • 33. Wider accessibility stuff • No more code I promise Tuesday, 12 February 13
  • 34. offline accessibility • Accessibility not just about code • Content must be accessible too, considerations our client must make • Example Tuesday, 12 February 13
  • 38. service design • “Before you start this giant form, you’ll need the following...” Tuesday, 12 February 13
  • 39. How to get better at this stuff • We’re pretty good already! • Can always improve • Familiarise yourself with basics • Know where to look for details • Test. Seriously. Tuesday, 12 February 13
  • 40. Use a screenreader • Impress your friends • Terrify yourself • You’ve got one • Mac Voiceover ⌘ + F5 Tuesday, 12 February 13
  • 41. other stuff • Navigate with a keyboard • Snoop on each other’s code • Install an extension Tuesday, 12 February 13