Slide 1

Slide 1 text

* Accessibility and how to get the most from your screenreader

Slide 2

Slide 2 text

1. Background ! 2. Developing a single page JavaScript thing on GOV.UK ! 3. General accessibility learnings @edds

Slide 3

Slide 3 text

Up until a week ago I was a Senior Developer at the Government Digital Service @edds

Slide 4

Slide 4 text

Building the Government’s award winning GOV.UK @edds

Slide 5

Slide 5 text

However, let’s just clear something up quite quickly… @edds

Slide 6

Slide 6 text

…just because I’m a former Government employee… @edds

Slide 7

Slide 7 text

…and I know what you’re all thinking… @edds

Slide 8

Slide 8 text

@edds …it’s: Edd Sowden not Ed Snowden

Slide 9

Slide 9 text

GOV.UK is the best place to find government information and services @edds

Slide 10

Slide 10 text

@edds

Slide 11

Slide 11 text

@edds

Slide 12

Slide 12 text

@edds

Slide 13

Slide 13 text

@edds

Slide 14

Slide 14 text

How many of you use Apple products regularly? @edds

Slide 15

Slide 15 text

How many of you test your websites in a screenreader? @edds

Slide 16

Slide 16 text

Voiceover comes with OS X and iOS, you already have it. @edds

Slide 17

Slide 17 text

* Developing a single page JavaScript thing on GOV.UK

Slide 18

Slide 18 text

Benefits Includes tax credits, eligibility and appeals Births, deaths, marriages and care Parenting, civil partnerships, divorce and Lasting Power of Attorney Business and self-employed Tools and guidance for businesses Childcare and parenting Includes giving birth, fostering, adopting, benefits for children, childcare and schools Citizenship and living in the UK Voting, community participation, life in the UK, international projects Crime, justice and the law Legal processes, courts and the police Disabled people Includes carers, your rights, benefits and the Equality Act Driving and transport Includes vehicle tax, MOT and driving licences Education and learning Includes student loans, admissions and apprenticeships Employing people Includes pay, contracts and hiring Environment and countryside Includes flooding, recycling and wildlife Housing and local services Owning or renting and council services Money and tax Includes debt and Self Assessment Passports, travel and living abroad Includes renewing passports and travel advice by country Visas and immigration Visas, asylum and sponsorship Working, jobs and pensions Includes holidays and finding a job 24 Ministerial departments 331 Other agencies and public bodies The websites of all government departments and many other agencies and public bodies have been merged into GOV.UK. Here you can see all policies, announcements, publications, statistics and consultations. Find out how government services are performing and how satisfied users are. GOV.UK Welcome to GOV.UK The best place to find government services and information Simpler, clearer, faster Popular on GOV.UK Universal Jobmatch job search Renew vehicle tax Log in to student finance Book your theory test Employment and Support Allowance Search GOV.UK Browse @edds

Slide 19

Slide 19 text

Quick prototype @edds

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Let’s build it… @edds

Slide 22

Slide 22 text

* By starting with HTML you’re forced to think about what you want to say to your users

Slide 23

Slide 23 text

@edds

Slide 24

Slide 24 text

@edds

Slide 25

Slide 25 text

  • Benefits

    • Benefits entitlement
    • ...
  • Births, deaths, marriages and care
  • ...
@edds

Slide 26

Slide 26 text

@edds

Slide 27

Slide 27 text

  • Benefits
  • Births, deaths, marriages and care
  • ...

Benefits

  • Certificates, register offices
  • ...
@edds

Slide 28

Slide 28 text

Let’s open that markup in our screen reader @edds

Slide 29

Slide 29 text

* Listening to your website lets you find out if it’s saying what you intended it to say

Slide 30

Slide 30 text

@edds Voiceover Keyboard shortcuts: ! Voiceover on/off: [⌘] + [F5]

Slide 31

Slide 31 text

By default VoiceOver will read the entire page when you navigate to it @edds

Slide 32

Slide 32 text

Let’s pretend we had just navigated to ‘Child benefits’ @edds

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

The first thing in your markup should be the main part of the page @edds

Slide 35

Slide 35 text

Benefits

  • Certificates, register offices
  • ...
  • Benefits
  • Births, deaths, marriages and care
  • ...
@edds

Slide 36

Slide 36 text

@edds

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

We are happy with the markup. Next let’s look at adding some JavaScript @edds

Slide 39

Slide 39 text

ARIA Accessible Rich Internet Applications @edds

Slide 40

Slide 40 text

“[ARIA] specifies how to increase the accessibility of web pages, in particular, dynamic content and user interface components developed with Ajax, HTML, JavaScript and related technologies” http://en.wikipedia.org/wiki/WAI-ARIA @edds

Slide 41

Slide 41 text

@edds aria-atomic aria-busy (state) aria-controls aria-describedby aria-disabled (state) aria-dropeffect aria-flowto aria-grabbed (state) aria-haspopup aria-hidden (state) aria-invalid (state) aria-label aria-labelledby aria-live aria-owns aria-relevant

Slide 42

Slide 42 text

@edds

Slide 43

Slide 43 text

@edds

Slide 44

Slide 44 text

@edds

Slide 45

Slide 45 text

@edds GDS @edds

Slide 46

Slide 46 text

https://gdstechnology.blog.gov.uk/2014/08/14/ improving-accessibility-on-gov-uk-search/ @edds

Slide 47

Slide 47 text

aria-live is best used for status messages or notifications not blocks of text @edds

Slide 48

Slide 48 text

@edds

Slide 49

Slide 49 text

@edds

Slide 50

Slide 50 text

We removed aria-live and instead move focus to the newly added heading @edds

Slide 51

Slide 51 text

@edds

Slide 52

Slide 52 text

$(‘h1’).focus(); @edds

Slide 53

Slide 53 text

...

@edds

Slide 54

Slide 54 text

...

@edds

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

@edds Voiceover Keyboard shortcuts: ! Voiceover on/off: [⌘] + [F5] Voiceover key (VO): [ctrl] + [⌥] Continue reading: ! [VO] + [a]!

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

@edds Voiceover Keyboard shortcuts: ! Voiceover on/off: [⌘] + [F5] Voiceover key (VO): [ctrl] + [⌥] Continue reading: [VO] + [a] Previous/next item:! [VO] + [right] or [left]!

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

By using focus rather than aria-live we also helped keyboard only users @edds

Slide 61

Slide 61 text

No content

Slide 62

Slide 62 text

Ship it! @edds

Slide 63

Slide 63 text

* General accessibility learnings

Slide 64

Slide 64 text

1. ! HTML5 enables you group items using semantic tags, aria lets you name them @edds

Slide 65

Slide 65 text

...

... @edds

Slide 66

Slide 66 text

@edds

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

@edds Voiceover Keyboard shortcuts: ! Voiceover on/off: [⌘] + [F5] Voiceover key (VO): [ctrl] + [⌥] Continue reading: [VO] + [a] Previous/next item: [VO] + [right] or [left] Enter region: ! ! [VO] + [⇧] + [down] ! Leave region: ! ! [VO] + [⇧] + [up] !

Slide 69

Slide 69 text

2.! ! Reading entire pages from start to finish often isn’t how people use screen readers @edds

Slide 70

Slide 70 text

Screen reader users can browse by headings and links to jump to content @edds

Slide 71

Slide 71 text

@edds Voiceover Keyboard shortcuts: ! Voiceover on/off: [⌘] + [F5] Voiceover key (VO): [ctrl] + [⌥] Continue reading: [VO] + [a] Previous/next item: [VO] + [right] or [left] Enter region: [VO] + [⇧] + [down] Leave region: [VO] + [⇧] + [up] Rotor window:!! [VO] + [u]

Slide 72

Slide 72 text

Departments Worldwide How government works Get involved Policies Publications Consultations Statistics Announcements GOV.UK Guidance Pet cemeteries: where you can build them and how to register From: Animal and Plant Health Agency and Department for Environment, Food & Rural Affairs First published: 5 September 2014 Last updated: 13 October 2014 , see all updates Part of: Guidance for the animal by-product industry, Protecting animal health and preventing disease, including in trade, Food and farming and + others Applies to: England, Scotland and Wales The animal carcasses you bury at a pet cemetery are animal by-products (ABPs). Find out about the different categories of ABP. Building your pet cemetery Where you can build a pet cemetery, the animals you can bury there, how it must be built and how to register. Contents Building your pet cemetery Where you can build a pet cemetery How your pet cemetery must be built Search @edds

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

*

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

3.! ! Some ARIA properties need to exist at page load to be picked up by Accessibility APIs @edds

Slide 77

Slide 77 text

4.! ! Avoid recreating native elements @edds

Slide 78

Slide 78 text

@edds

Slide 79

Slide 79 text

Slide 80

Slide 80 text

Dictation users say what they see, like “click button” @edds

Slide 81

Slide 81 text

Slide 82

Slide 82 text

When attempting to recreate native elements it’s easy to forget to add accessibility hooks, like using space bar to click buttons. @edds

Slide 83

Slide 83 text

5.! ! Don’t add too much extra “semantic” markup @edds

Slide 84

Slide 84 text

  • Your name
  • Your email
@edds

Slide 85

Slide 85 text

@edds ! ! Your name ! ! Your email !

Slide 86

Slide 86 text

In summary… @edds

Slide 87

Slide 87 text

* Start with HTML as! it forces you to think about what you want to say to your users

Slide 88

Slide 88 text

* Listen to your website to see if your message is communicated to your users

Slide 89

Slide 89 text

* Edd Sowden
 @edds Thank you!