Today's design and development frameworks - Drupal, WordPress, Bootstrap, jQuery, and others - make it easier to stand up apps quickly. But at what cost? Find out what we learned and what we'd change next time.
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Lessons Learned in Coding Accessible Apps with Frameworks
1. Lessons Learned
Coding Accessible Apps with Frameworks
Kate Walser
kwalser@cxinsights.com 571-281-2626
Slides @ http://www.slideshare.net/kwalser
2. 2
» Usability & accessibility
specialist
» Member of TEITAC, or Section
508 / Section 255 refresh
committee
» Principal consultant at CX
Insights, the user experience
division of Tritus Technologies,
Inc.
» Originally from upstate NY, now
call Fairfax, VA (near DC) home
Kate Walser
kate@cxinsights.com
571.281.2626
2
Creative Commons – Some Rights
Reserved
3. 3
Agenda
Time Duration Topic
10:15 – 10:25 10 minutes Introductions, Objectives
10:25 – 10:35 10 minutes Apps & frameworks in action
10:35 – 10:45 15 minutes GROUP EXERCISE
Spot the A11y Gems
10:45 – 11:05 20 minutes What we learned
11:05 – 11:20 15 minutes Strategy
11:20 – 11:35 15 minutes GROUP EXERCISE
Your site
11:35 – 11:45 10 minutes Discussion, Wrap-up
http://www.slideshare.net/kwalser
Creative Commons – Some Rights
Reserved
3
4. » In the early days of software and web
apps, software licensing was a given if you
were not building your own from-scratch
applications.
VINTAGE
Commercial software
Image credit: “Commercial Software Licensing Costs,” by maisonbisson
Flickr Creative Commons
Creative Commons – Some Rights
Reserved
4
5. » As the market crashed in the late 1990s
and early 2000s and the recession hit,
agencies and businesses were finding
ways to cut costs.
CHALLENGE
Financial Times & Costly Software
Image credit: “Piggy Banks with savings chart,” by managementwritingsolutions
Flickr Creative Commons Creative Commons – Some Rights
Reserved
5
6. TRENDING
Frameworks & Open Source
Logos and trademarks courtesy of Oracle, Microsoft, Drupal, and
WordPress.
All product and company names are trademarks™ or registered® trademarks
of their respective holders. Use of them does not imply any affiliation with or
endorsement by them. Creative Commons – Some Rights
Reserved
6
11. » WordPress, Drupal, Joomla, SharePoint and other
content management tools let organizations build
websites quickly and manage content easily. The
built-in options out of box for most of them include
the ability to tag content with headings, used by
assistive technologies.
» Content owners can also insert media, and in
some better designed tools like WordPress, add
alternative text.
Content Management
Publish, Edit, Approve
Creative Commons – Some Rights
Reserved
11
12. With drop-down and complex menus, it can
be hard to find option you need. Menu
doesn’t stay open to let users use ctrl+f to
find nav.
Navigation
Drop-downs, Megamenus, Mobile menus
Creative Commons – Some Rights
Reserved
12
13. » You can also quickly stand up forms to
collect information such as Contact Us,
newsletter subscription, registration, or
application information using Drupal’s
Ctools and various frameworks and plug-
ins, like Contact Form 7.
» Many offer support to let you include
required indicators, date picker widgets,
and informative text near the fields to help
users know what format is needed.
Forms
Cues, Formats, Feedback
Creative Commons – Some Rights
Reserved
13
16. Search & Queries
Tables, Filter, Show X rows, Pagerlinks
Example: https://datatables.net/
Creative Commons – Some Rights
Reserved
16
17. GROUP EXERCISE #1 – 10:35 – 10:45
» Look at your site (or a site)
» Content, articles
» Any interactive sliders, carousels, media
» Search and search results
» Contact, registration, application forms
» How would you describe the items to a user who
couldn’t see the screen?
» If you had to tell Siri what to do, what would you say?
17
19. FOR FRAMEWORKS
Accessible content’s easy(er)…
» Content headings
» Alt attributes
» Labels for basic fields
» Table headings
» Skip to main content
Creative Commons – Some Rights
Reserved
19
20. WHEN USING FRAMEWORKS
Accessible interactions fell short
» Keyboard and speech
recognition had less
support
» Accessible rich Internet
application (ARIA) support
varied
Creative Commons – Some Rights
Reserved
20
21. » Websites with pop-ups for tooltips,
navigation menus, and modals and dialogs
weren’t always reachable by keyboard.
DEMO
Pop-ups weren’t reachable
Creative Commons – Some Rights
Reserved
21
22. LESSONS LEARNED
Pop-ups weren’t reachable
» Add keyboard alternative for
click and hover events
– Level 1 menu links sometimes
removed href that provides
keyboard support
– Hover sometimes used as trigger
» Improve focus outline
» Set focus when open dialogs
https://www.playosmo.com/en/
Creative Commons – Some Rights
Reserved
22
23. DEMO
Field label, help, access issues
Creative Commons – Some Rights
Reserved
23
Example: https://kwalser.wufoo.com/forms/applicant/
24. LESSONS LEARNED
Field label, help issues
» Adjust out of box required field
settings
– Change * to Required
– Add required attribute to field
» Assign field descriptions to fields
» Adjust code for custom items
– Forms in dialogs
– Character counts
Creative Commons – Some Rights
Reserved
24
25. DEMO
Validation messages needed focus
Note: These Oracle Apex example link may require a username and password.
https://apex.oracle.com/pls/apex/wwv_flow.accept
https://apex.oracle.com/pls/apex/f?p=4000:4500:3378385214844::NO:::
Creative Commons – Some Rights
Reserved
25
26. LESSONS LEARNED
Validation messages needed focus
» Improve status messages
– Move focus to success / error
messages after validation
– Include links to fields with
problems
» Associate error message
with field via ARIA
Example: http://assets.cms.gov/resources/framework/3.4.1/Pages/#formvalidatorCreative Commons – Some Rights
Reserved
26
27. DEMO
Search results needed tweaks
Example: http://www.211texas.org/search/
Creative Commons – Some Rights
Reserved
27
28. LESSONS LEARNED
Search results needed tweaks
» Change filter option labels to “Filter” to avoid Search
hot command collision in speech recognition
» Set focus back to logical spot when pager links used
– Previous, page #, and next caused page refresh, focus set to top
rather than search results (or pager links)
» Associate text and map results for location-aware
searches (e.g., Near you) to improve map a11y
Creative Commons – Some Rights
Reserved
28
30. 1. List all major features
» Navigation
– Drop-downs, Jump links, Into / out of
dialogs and auto-complete
» Search, faceted drill-down
– Results, Filtering, Pagination / pager links,
Table headings
» Sliders, carousels, galleries, tabs
» Content sharing options, plugins
» Maps and data charts
Creative Commons – Some Rights
Reserved
30
31. 2. Describe interactions & test criteria,
then find exemplar site
Creative Commons – Some Rights
Reserved
31
» If click triggers action,
keyboard will also
» If hover triggers action,
keyboard alternative
» If error returned, list
specific errors in status
message with link to field,
show error near field, and
assign to field explicitly
32. 3. Pick tools with large communities
Creative Commons – Some Rights
Reserved
32
» Drupal
» WordPress
» jQuery
» Bootstrap
» AngularJS
» …
33. WordPress Accessibility Site
» WordPress’s accessibility site includes
resources for creating accessible plugins
and themes.
Creative Commons – Some Rights
Reserved
33
34. Drupal Groups Site
» Drupal Group’s site lists modules and
themes that have pledge to be accessible
and those that the community wishes
would take the pledge.
Drupal has made a pledge to accessibility, to make both its core framework
accessible and challenge module and theme developers to take an accessibility
pledge. This means they will “try” to make their products accessible.
Accessibility pledge modules/themes
Creative Commons – Some Rights
Reserved
34
35. Check usage stats if available
Creative Commons – Some Rights
Reserved
35
36. 4. Look for tips forums, API
Creative Commons – Some Rights
Reserved
36
40. Summary
40
» Biggest challenges with framework accessibility are the rich,
interactive elements
» Describing how those should work in advance and finding
examples helps.
Before open source, many software and framework vendors who sold to government agencies considered accessibility as a must-have in their commercial off-the-shelf (COTS) products.
If it wasn’t accessible, agencies could request for a price, adjustments to improve accessibility.
Many of us are still in an Agile world where agencies and businesses are focused on creating an initial concept and iterating on that and building
Open source software and commercial frameworks like Drupal, WordPress, jQuery, Yahoo UI, and others have grown in popularity over the past decade.
Businesses use Microsoft SharePoint and Oracle Apex used to stand up intranets and data-intensive apps.
Many of us are still in an Agile world where agencies and businesses are focused on creating an initial concept and iterating on that and building
With today’s frameworks, creating an accessible product can feel like being locked in a jail with limited options to get out.
Search, Tables & Filters
Simplistic idea of accessibility as alt attributes and table headings
Apps have evolved and so have the interactions users expect and accessibility options
Drupal configuration
WordPress settings
Limitations and constraints imposed by the modules and framework
Far removed from the actual code
Simplistic idea of accessibility as alt attributes and table headings
Apps have evolved and so have the interactions users expect and accessibility options
Drupal configuration
WordPress settings
Limitations and constraints imposed by the modules and framework
Far removed from the actual code
With several plugins and libraries, we found great support for screen reader users. Accessible rich Internet application (ARIA) standards were great
In several tools, there’s a built in asterisk that’s included in various positions –
In several tools, there’s a built in asterisk that’s included in various positions –
WordPress site
Search uses plugin
In several tools, there’s a built in asterisk that’s included in various positions –
When choosing modules and plug-ins for your framework, think about support – the more popular and widely used modules tend to have more support and examples. You’ll find lots of claims of “Accessible, responsive” choices, but they’re often pretty limited and they often do the easy things.
The more popular, widely-used items tend to have better out-of-box accessibility support as they applied standards / good coding and have more contributors. And if not, you’ll often be able to Google to find examples on Quora, Stack Overflow or other websites where developers ask questions.