Slide 1

Slide 1 text

Accessibility ABC critical thinking 1/125

Slide 2

Slide 2 text

hello! I am Tamás Tóth My Flappy Bird score is 566. I am here because I love to give presentations. 2/125

Slide 3

Slide 3 text

Table of contents WCAG 2.0 WAI-ARIA Schema.org UX Performance 3/125 © Jela

Slide 4

Slide 4 text

Table of contents WCAG 2.0 WAI-ARIA Schema.org UX Performance 4/125 Why?

Slide 5

Slide 5 text

5/125 MOV AX, BX Instead of...

Slide 6

Slide 6 text

6/125 Cogito ergo sum © José Luis Gómez Merino

Slide 7

Slide 7 text

1. WCAG 2.0 7/125

Slide 8

Slide 8 text

WCAG 2.0 Wikipedia quote goes here… 8/125 “

Slide 9

Slide 9 text

Web Content Accessibility Guidelines 2.0 9/125

Slide 10

Slide 10 text

Web Content Accessibility Guidelines 2.0 boring 10/125

Slide 11

Slide 11 text

WCAG 2.0 ~ Microsoft Word 11/125 © tt

Slide 12

Slide 12 text

WCAG 2.0 ~ Microsoft Word 12/125

Slide 13

Slide 13 text

The Dawn of the Internet Age 13/125

Slide 14

Slide 14 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 14/125 } Word

Slide 15

Slide 15 text

“Genius” mouse not working 15/125

Slide 16

Slide 16 text

BBS 16/125

Slide 17

Slide 17 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (up to 200% zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 17/125 } Word

Slide 18

Slide 18 text

18/125 “alt” text

Slide 19

Slide 19 text

19/125 “alt” text

Slide 20

Slide 20 text

20/125 “alt” text

Slide 21

Slide 21 text

21/125 “alt” text

Slide 22

Slide 22 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (up to 200% zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 22/125 } Word

Slide 23

Slide 23 text

23/125 Always label

Slide 24

Slide 24 text

24/125 Always label

Slide 25

Slide 25 text

25/125 Native validation

Slide 26

Slide 26 text

26/125 Native validation: l10n

Slide 27

Slide 27 text

27/125

Slide 28

Slide 28 text

28/125 Forms Done right?

Slide 29

Slide 29 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (up to 200% zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 29/125 } Word

Slide 30

Slide 30 text

30/125 Never use maximum-scale!

Slide 31

Slide 31 text

31/125 Never use maximum-scale!

Slide 32

Slide 32 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (up to 200% zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 32/125 } Word

Slide 33

Slide 33 text

33/125 Skip navigation

Slide 34

Slide 34 text

Bootstrap and screen readers 34/125

Slide 35

Slide 35 text

Bootstrap and screen readers 35/125

Slide 36

Slide 36 text

WCAG 2.0 examples Page title Heading structure Don’t auto play video/audio, provide alternatives Contrast (check on your phone with low brightness) Resize Text (up to 200% zoom) Image text alternatives ("alt text") Forms, labels, and errors Never use maximum-scale=1 (e.g. Ghostery) Skip navigation links Keyboard access and visual focus (aka “dotted lines”) . . . 36/125 } Word

Slide 37

Slide 37 text

37/125 Never remove the “dotted lines”

Slide 38

Slide 38 text

38/125 Never remove the “dotted lines”

Slide 39

Slide 39 text

39/125 Provide alternative

Slide 40

Slide 40 text

Use case: Smashing magazine 40/125

Slide 41

Slide 41 text

Link vs. button 41/125

Slide 42

Slide 42 text

Button vs. role=”button” 42/125

Slide 43

Slide 43 text

Button vs. role=”button” 43/125

Slide 44

Slide 44 text

Button vs. role=”button” 44/125

Slide 45

Slide 45 text

Button vs. role=”button” 45/125

Slide 46

Slide 46 text

A11y and Bootstrap 46/125

Slide 47

Slide 47 text

47/125 Icons in Bootstrap 2

Slide 48

Slide 48 text

48/125 for icons?

Slide 49

Slide 49 text

49/125 The element represents a span of text that offset from the normal prose. “

Slide 50

Slide 50 text

50/125 Icons in Bootstrap 2

Slide 51

Slide 51 text

51/125 Icons in Bootstrap 3

Slide 52

Slide 52 text

Material icons 52/125

Slide 53

Slide 53 text

Icons: ligatures 53/125

Slide 54

Slide 54 text

54/125 for icons!

Slide 55

Slide 55 text

...or SVG icons 55/125

Slide 56

Slide 56 text

...or SVG icons 56/125

Slide 57

Slide 57 text

...or SVG icons 57/125

Slide 58

Slide 58 text

Use case: AChecker 58/125

Slide 59

Slide 59 text

59/125 2. WAI-ARIA

Slide 60

Slide 60 text

WAI-ARIA Web Accessibility Initiative – Accessible Rich Internet Applications 60/125 “

Slide 61

Slide 61 text

WAI-ARIA Web Accessibility Initiative – Accessible Rich Internet Applications 61/125 boring “

Slide 62

Slide 62 text

WAI-ARIA ~ Ai Weiwei 62/125 © humanrightslogo.net + photomontage

Slide 63

Slide 63 text

WAI-ARIA excuse for bad (non-semantic) markup role=”” custom components tabindex Voiceover, NVDA, JAWS, … 63/125

Slide 64

Slide 64 text

To WAI-ARIA or not to WAI-ARIA? 64/125

Slide 65

Slide 65 text

To WAI-ARIA or not to WAI-ARIA? 65/125

Slide 66

Slide 66 text

To WAI-ARIA or not to WAI-ARIA? 66/125

Slide 67

Slide 67 text

WAI-ARIA roles: List 67/125

Slide 68

Slide 68 text

WAI-ARIA roles: List 68/125

Slide 69

Slide 69 text

HTML equivalent? 69/125

Slide 70

Slide 70 text

70/125

Slide 71

Slide 71 text

71/125 3. Schema.org

Slide 72

Slide 72 text

semantic markup Schema. org SEO UX 72/125 3 in 1

Slide 73

Slide 73 text

semantic markup Schema. org SEO UX 73/125 3 in 1

Slide 74

Slide 74 text

Schema.org 74/125

Slide 75

Slide 75 text

Schema.org 75/125

Slide 76

Slide 76 text

76/125

Slide 77

Slide 77 text

77/125

Slide 78

Slide 78 text

Schema.org/PostalAddress 78/125

Slide 79

Slide 79 text

79/125 4. UX

Slide 80

Slide 80 text

UX gray (like dark) patterns: don’t annoy users FAQ pages with hidden email disable right click (inspect element) it’s ok to hate IE8 but hate it with style (fallback) fb overlay, popups animation lar pour lar (good example Material design) parallax Hyperbole and a Half: be honest and unobtrusive 80/125

Slide 81

Slide 81 text

81/125 Gray (like dark) patterns: “Do not annoy the users”

Slide 82

Slide 82 text

82/125 Bootstrap “as”

Slide 83

Slide 83 text

Bootstrap “as” 83/125

Slide 84

Slide 84 text

Motion provides meaning (Material design) 84/125 “

Slide 85

Slide 85 text

85/125

Slide 86

Slide 86 text

86/125 Parallax © Disney

Slide 87

Slide 87 text

87/125 Parallax != Scrolljacking (but it’s ok sometimes) © Robby Leonardi

Slide 88

Slide 88 text

88/125 The long journey © Boulet

Slide 89

Slide 89 text

89/125 5. Performance

Slide 90

Slide 90 text

Performance 90/125 Google 10 things: fast is better than slow PageSpeed Insights, WebPagetest, YSlow, ... above the fold/critical CSS async vs. defer minify HTML? SASS mess 3D, FOIT/FOUT/FOFT - always patching browser issues? 60 fps (e.g. parallax) . . .

Slide 91

Slide 91 text

91/125 Google 10 things: fast is better than slow

Slide 92

Slide 92 text

92/125 Pagespeed Insights, Webpagetest, YSlow, …

Slide 93

Slide 93 text

93/125 async vs. defer

Slide 94

Slide 94 text

94/125 Above the fold/critical CSS, lazy loading...

Slide 95

Slide 95 text

95/125 SASS mess

Slide 96

Slide 96 text

96/125 Specificity

Slide 97

Slide 97 text

97/125

Slide 98

Slide 98 text

Why? 98/125

Slide 99

Slide 99 text

Mission critical 99/125 © tt

Slide 100

Slide 100 text

Just create me a ticket and i’ll fix it. 100/125 “

Slide 101

Slide 101 text

Just create me a ticket and i’ll fix it. 101/125 “

Slide 102

Slide 102 text

I care. 102/125

Slide 103

Slide 103 text

103/125 Baker vs. programmer

Slide 104

Slide 104 text

104/125 © Varljivo leto ‘68 Jagodinka Simonović Baker vs. programmer problem

Slide 105

Slide 105 text

105/125 © ZojaKu STARTIT.RS: Muškarci vladaju svetom zato što žene misle da to ne zaslužuju – Hajde da to promenimo Baker vs. programmer problem

Slide 106

Slide 106 text

A nation's greatness is measured by how it treats its weakest members. 106/125 “ © Kenneth Anderson

Slide 107

Slide 107 text

Comply or explain 107/125 “

Slide 108

Slide 108 text

2h to fix vs. 2h to discard educate your clients separate your hacks fight browser behaviors? brand identity vs. clean code 108/125 Pixel perfect vs. generic?

Slide 109

Slide 109 text

109/125 Naming is important ?

Slide 110

Slide 110 text

Delegation of the core problem 110/125 wireframes in Balsamiq/Visio/by hand/…? BEM/SMACSS/OOCSS/…? use personas/don’t use personas? chicken/egg? . . .

Slide 111

Slide 111 text

111/125 Process customer designer frontend backend

Slide 112

Slide 112 text

112/125 Process customer designer frontend backend

Slide 113

Slide 113 text

Lesser people have done greater things. 113/125 “

Slide 114

Slide 114 text

The customer is always right 114/125 “

Slide 115

Slide 115 text

115/125 ? The customer is always right “

Slide 116

Slide 116 text

116/125 © Chris Stain

Slide 117

Slide 117 text

117/125 © Neradnik The word spreads out. - “Neradnik” “

Slide 118

Slide 118 text

118/125 Be honest © Hyperbole and a Half

Slide 119

Slide 119 text

119/125 {placekitten}

Slide 120

Slide 120 text

120/125 {placekitten}

Slide 121

Slide 121 text

121/125 {placekitten}

Slide 122

Slide 122 text

122/125 © Duncan Hull

Slide 123

Slide 123 text

123/125

Slide 124

Slide 124 text

thanks! Questions? @talpitoo 124/125

Slide 125

Slide 125 text

Credits Special thanks to all the people who made and released these awesome resources for free: Presentation template by SlidesCarnival 125/125