Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
Accessible Javascript - Example Accordion
Melden
Sylvia Egger
Folgen
Senior Frontend Developer um Cologne
24. Oct 2012
•
0 gefällt mir
7 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
3,970 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Check these out next
Cairo Graphics Kit
ESUG
OpenAjax Alliance And Widgets
guest42a607
Symfony Day 2009 - Symfony vs Integrating products
Xavier Lacot
Mozilla in Vietnam 2009
Gen Kanai
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
Frank Wienberg
Mozilla In Malaysia
Gen Kanai
Duel of Two Libraries: Cairo & Skia
Samsung Open Source Group
Java and Serverless - A Match Made In Heaven, Part 1
Curity
1
von
37
Top clipped slide
Accessible Javascript - Example Accordion
24. Oct 2012
•
0 gefällt mir
7 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
3,970 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
Talk at cologne.js October 2012
Sylvia Egger
Folgen
Senior Frontend Developer um Cologne
Anzeige
Anzeige
Anzeige
Recomendados
Was ist Barrierefreiheit? (18.05. 2010)
Sylvia Egger
3.9K Aufrufe
•
46 Folien
Responsive Accessibility in der Praxis
Sylvia Egger
5.5K Aufrufe
•
75 Folien
Webfonts in der Praxis - Teil 2 - Beispielfont Lobster
Sylvia Egger
2K Aufrufe
•
71 Folien
WordCamp 2010: Twenty Ten barrierefrei?
Sylvia Egger
2.7K Aufrufe
•
36 Folien
Wie? Mein WordPress-Theme geht auch barrierefrei!
Sylvia Egger
4.5K Aufrufe
•
54 Folien
2009: eine Tastatur-Odyssee
Sylvia Egger
1.3K Aufrufe
•
60 Folien
Más contenido relacionado
Similar a Accessible Javascript - Example Accordion
(20)
Cairo Graphics Kit
ESUG
•
1.3K Aufrufe
OpenAjax Alliance And Widgets
guest42a607
•
404 Aufrufe
Symfony Day 2009 - Symfony vs Integrating products
Xavier Lacot
•
1.4K Aufrufe
Mozilla in Vietnam 2009
Gen Kanai
•
1.1K Aufrufe
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
Frank Wienberg
•
12K Aufrufe
Mozilla In Malaysia
Gen Kanai
•
1.2K Aufrufe
Duel of Two Libraries: Cairo & Skia
Samsung Open Source Group
•
33.8K Aufrufe
Java and Serverless - A Match Made In Heaven, Part 1
Curity
•
161 Aufrufe
Html5 Whats around the bend
Raj Lal
•
2.5K Aufrufe
Eclipse Con 2009 Sca Tools Short Talk
Vincent Zurczak
•
594 Aufrufe
Hadoop {Submarine} Project: Running Deep Learning Workloads on YARN
DataWorks Summit
•
1.4K Aufrufe
Rich Ajax Platform - theEdge 2012 conference presentation
Nicko Borodachuk
•
644 Aufrufe
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Peter Procházka
•
53 Aufrufe
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
NETWAYS
•
10 Aufrufe
Csa container-security-in-aws-dw
Cloud Security Alliance, UK chapter
•
296 Aufrufe
Shrinking the container_zurich_july_2018
Ewan Slater
•
48 Aufrufe
Latest Developments of Scalable Vector Graphics (SVG) 2, With a Focus on Stre...
Förderverein Technische Fakultät
•
3.1K Aufrufe
LibX 2.0
eby
•
1.5K Aufrufe
Minko - Scripting 3D apps with Lua and C++
Minko3D
•
3.3K Aufrufe
Serverless Java: JJUG CCC 2019
Shaun Smith
•
294 Aufrufe
Último
(20)
KC - Kanban Coaching
Adail Viana Neto
•
0 Aufrufe
Chapter_11-Heragu.pptx
Madan Karki
•
0 Aufrufe
My College Project
AKHILAASOK
•
0 Aufrufe
Into The Box 2023 Keynote day 2
Ortus Solutions, Corp
•
0 Aufrufe
Studying the materials used in weapons during Chhatrapati Shivaji Maharaj era
Sagarwalanj
•
0 Aufrufe
Agile Mindset, Ahmed Sidky PhD.pdf
FarizGhozali
•
0 Aufrufe
SampleDecPkg.ppt
Courtney Doutherd
•
0 Aufrufe
AzureOpenAI.pptx
Udaiappa Ramachandran
•
0 Aufrufe
SAUTER certified buildings.pptx
GraziellaCathleen
•
0 Aufrufe
Secure and manage your data while collaborating with Microsoft Teams.pptx
Jasper Oosterveld
•
0 Aufrufe
evpn_in_service_provider_network-web.pdf
ThanhTrungBui5
•
0 Aufrufe
kamil.pdf
AzeemAslam11
•
0 Aufrufe
Ignite the future of clincial trials with Clinion AI
shirleyraghu
•
0 Aufrufe
UiPath Community - Dallas - Studio Web.pdf
DianaGray10
•
0 Aufrufe
EPAK_EANT_Präsentation (EN).pdf
Simone Agresti
•
0 Aufrufe
Ethereum's Transaction Momentum: Closing the Gap with Visa
Mobiloitte Technologies
•
0 Aufrufe
Advanced Testing
Postman
•
0 Aufrufe
Site Directed Mutagenesis (SDM).pptx
TechnoIndiaUniversit
•
0 Aufrufe
Migrating to the Cloud - From Preparation to Operation copy.pdf
Symptai Consulting Limited
•
0 Aufrufe
Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
Precisely
•
0 Aufrufe
Anzeige
Accessible Javascript - Example Accordion
Accessible JavaScript Example: Accordion Cologne,
09.10.2012
1
Accessible JavaScript: Accordion 2 Inaccessible examples 3 Keyboard 4 User defined colours 5 Screenreader 6 Enhancements 7 Accordion: The future
Accessible JavaScript 1. Accessible
JavaScript? © pixelpark | 3
Accessible JavaScript 1. Can
you use it fully with keyboard and keys? 2. Can you use it with user defined colours? 3. Can you use it with Screenreader? © pixelpark | 4
Accessible JavaScript 1. Inaccessible
examples © pixelpark | 5
Accessible JavaScript –
Inaccessible examples 1. Only with mouse over (Example: Elegant Accordion) 2. You can only click on it (Example: Easy Accordion) © pixelpark | 6
Elegant Accordion
© pixelpark | 7
Easy Accordion
© pixelpark | 8
Accessible JavaScript 2. Keyboard
and keys © pixelpark | 9
Accessible JavaScript Keyboard JavaScript must
be fully accessible with keyboard. You mostly use with keyboard: • Tab • Arrow keys © pixelpark | 10
WAI-ARIA Best Practice: Accordion “An
accordion component is a collection of expandable panels associated with a common outer container. Panels consist of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy. The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates and makes the contents of each panel visible (or not) by interacting with the Accordion Header.” http://www.w3.org/TR/wai-aria-practices/#accordion © pixelpark | 11
WAI-ARIA Best Practice: Accordion •
First you use tab to get on the first header of the accordion • Within the accordion: - enter- / space key: open and close - Arrow key right / down: next header - Arrow key left / up: previous header - end- / home key: first / last header - CTRL + arrow key up: if you are in accordion content you get to header above © pixelpark | 12
Accessible JavaScript 2.1 Accessible
Mootools Accordion © pixelpark | 13
Accessible Mootools Accordion
© pixelpark | 14
Accessible JavaScript 2.2 jQuery
UI Accordion © pixelpark | 15
jQuery UI Accordion
© pixelpark | 16
Accessible JavaScript 3. User
defined colours © pixelpark | 17
Accessible JavaScript User
defined colours If you are using your own colours, background images are not shown anymore. In this case in most accordions you can not get the actual state of it – if it is open or closed. © pixelpark | 18
Accessible JavaScript 3.1 Accessible
Mootools Accordion © pixelpark | 19
Accessible Mootools Accordion
© pixelpark | 20
Accessible JavaScript 3.2 jQuery
UI Accordion © pixelpark | 21
jQuery UI Accordion
© pixelpark | 22
Accessible JavaScript 4. Screenreader
© pixelpark | 23
Accessible JavaScript Screenreader JavaScript must
be fully accessible with a Screenreader. Using WAI-ARIA accordions could be optimized for a Screenreader: • You can use it the same way as without a Screenreader • A Screenreader gets additional information about actual state of the accordion and how it works. © pixelpark | 24
Accessible JavaScript WAI-ARIA –
Accordion Widget WAI shows in detail how WAI-ARIA can improve widgets. Accordion widget needs following attributes: • Accordion itself: role=tablist • Accordion header: - role=tab - aria-selected (is header is selected or not) - aria-expanded (is selected header open or not) - optional: aria-controls • Accordion – content open: - role=tabpanel - aria-labelledby (with header) - aria-hidden (is content visible / open or not) © pixelpark | 25
WAI-ARIA – Accordion
Widget © pixelpark | 26
WAI-ARIA – Accordion
Widget (ChromeVox) © pixelpark | 27
WAI-ARIA Example &
Screenreader Screenreader Header information Open content: information NVDA (Firefox) „Tab ausgewählt, erweitert / 1 x read reduziert“ (translated: Tab selected extended / reduced) JAWS (IE) „Registerkarte offen / Not read geschlossen“ (translated: Tab open / closed) ChromeVox „Tab ausgewählt, minimiert / Not read maximiert“ (translated: Tab selected minimized / maximized) VoiceOver „Titel ausgewählt“ (translated: Titel Not read selected) VoiceOver (iOS 6) „Tabulator Auswahl 3 von 6“ (translated: Not read Tab selected 3 of 6) © pixelpark | 28
WAI-ARIA – Accordion
header Accordion tab aria-controls aria-expanded aria-selected WAI example X X X X Accessible X X X Mootools Widget jQuery UI X X X Accordion jQuery Mobile © pixelpark | 29
WAI-ARIA – Accordion
content Accordion tabpanel aria-labelledby aria-hidden WAI example X X X Accessible X X X Mootools Widget jQuery UI X X X Accordion jQuery Mobile X © pixelpark | 30
Accessible JavaScript 4. Enhancements
© pixelpark | 31
Accessible JavaScript
Accordion enhanced What can be still enhanced? • Better contrast for keyboard users • For status icons on header use CSS content • A small description how accordion works (visible or only for Screenreader) © pixelpark | 32
jQuery UI Accordion
enhanced © pixelpark | 33
Accessible JavaScript 4. Accordion:
The future © pixelpark | 34
Future: HTML 5
details/summary element © pixelpark | 35
HTML 5 details/summary
element (ChromeVox) Problem until now: details – content is not yet accessible. © pixelpark | 36
Imprint Die in dieser
Präsentation erarbeiteten Gedanken und Vorschläge sind geistiges Eigentum der Pixelpark AG und unterliegen dem geltenden Urheberrecht. Die ganze oder teilweise Vervielfältigung sowie jede Weitergabe an Dritte ist ohne schriftliche Genehmigung der Pixelpark AG nicht gestattet. (All rights reserved to Pixelpark AG) Sylvia Egger Senior Online Developer Pixelpark AG Cäcilienkloster 2 D-50676 Köln sylvia.egger@pixelpark.com www.pixelpark.com © pixelpark | 37
Anzeige