SlideShare una empresa de Scribd logo
1 de 50
SURVIVING DEV FRAMEWORKS:
LESSONS LEARNED WITH
DRUPAL, WORDPRESS, JQUERY, AND MORE
Kate Walser • CX Insights
kwalser@cxinsights.com • @kwalser
Slides @ https://www.slideshare.net/kwalser
CHALLENGE
Costly commercial software
› As the market crashed in the late 1990s and early
2000s and the recession hit, agencies and
businesses were finding ways to cut costs.
Creative Commons – Some Rights Reserved
2
Image credit: “Piggy Banks with savings chart,” by managementwritingsolutions
Flickr Creative Commons
TRENDING
Agile
Creative Commons – Some Rights Reserved
3
TRENDING
Frameworks & Open Source
Creative Commons – Some Rights Reserved
4
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.
THE PROMISE
Powerful, Quicker to build apps
Creative Commons – Some Rights Reserved
5
THE SIDE EFFECT
Black box accessibility
Creative Commons – Some Rights Reserved
6
» More Complex User Experiences
7
Content Management
Publish, Edit, Approve
› WordPress, Drupal, Joomla, Grav, 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.
Creative Commons – Some Rights Reserved
8
Forms
Cues, Formats, Feedback
› 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.
Creative Commons – Some Rights Reserved
9
Dynamic Areas
Autocompletes, Data-dependent forms, Pop-ups
› Functionality like autocomplete, typeahead search
/ results, data-driven forms are popping up across
sites.
Creative Commons – Some Rights Reserved
10
Navigation
Drop-downs, Megamenus, Mobile menus
› Menu trends totally collapsed menus and that
drop-down menus that are only available on hover
Creative Commons – Some Rights Reserved
11
Search & Queries
Tables, Filter, Show X rows, Pagerlinks
Creative Commons – Some Rights Reserved
12
Example: https://datatables.net/
Big Data
Charts and Tables
New and easier to leverage chart libraries are giving
organizations quick and easy ways to show big data in
charts and scorecards.
Creative Commons – Some Rights Reserved
13
Source: https://cloud.google.com/blog/big-data/2017/04/how-to-build-a-bi-dashboard-using-google-
data-studio-and-bigquery
» Lessons Learned
14
Photo credit: “Caution Falling Hardware,” fdecomite
It’s accessible if I can…
› Get there
› Know where I am
› Know what I can do
- Jim Thatcher
Creative Commons – Some Rights Reserved
15
ACCESSIBLE APPS
Overarching Principles
FOR FRAMEWORKS
Accessible content’s easy(er)…
› Content headings
› Labels for basic fields
› Table headings
› Skip to main content
Creative Commons – Some Rights Reserved
16
WHEN USING FRAMEWORKS
Richer content and interactions fell short
1. Title, not alt attribute, was default text
for media
2. Tables pasted in from Word lost
headings
3. Keyboard and speech recognition had
less support
4. Accessible rich Internet application
(ARIA) support to provide context, info
varied
› Good for menus
› Lacking for autocomplete and dynamic
widgets
Creative Commons – Some Rights Reserved
17
DEMO
Pop-ups, menus weren’t reachable
› Websites with pop-ups for tooltips, navigation
menus, and modals and dialogs weren’t always
reachable by keyboard.
Creative Commons – Some Rights Reserved
18
http://qtip2.com/demos
LESSONS LEARNED
Add key listeners, focus management
› Add keyboard alternative for click and hover events
– Use native <a href> and interactive elements (button, etc.) when possible
– Level 1 menu links sometimes removed href that provides keyboard support
– Add hover only after keyboard handled
› Verify that focus outline available
› Set focus when open pop-up
windows and dialogs
› Provide a11y info via Help,
offscreen text, or ARIA
Creative Commons – Some Rights Reserved
19
DEMO
Form labels, helper text, feedback weren’t accessible
Example: https://kwalser.wufoo.com/forms/applicant/
Creative Commons – Some Rights Reserved
20
LESSONS LEARNED
Adjust rendering of labels, helper text with ARIA, listeners
› Adjust out of box required field settings
– Change the symbol * to the word Required
– Add required attribute to field
$form[$key]['#attributes']['required'] =
'required';
› Assign field descriptions to fields
– $form['account']['mail']['#attributes'] = array(
'disabled' => 'disabled',
'aria-describedby' => 'email-helptext');
› Adjust code for custom items
– aria-haspopup or aria-controls when forms
and other options open in dialogs
– aria-live for things like character counts
Creative Commons – Some Rights Reserved
21
LESSONS LEARNED
Set focus to feedback area and add “aria-describedby” for
field-level errors
› Improve status messages
– Move focus to success / error messages after validation
– Include links to fields with problems
› Associate error message with field via ARIA
Creative Commons – Some Rights Reserved
22
Example: https://assets.cms.gov/resources/framework/3.4.1/Pages/#formvalidator
DEMO
Search, typeahead weren’t keyboard accessible or
didn’t announce result set
Creative Commons – Some Rights Reserved
23
Example: https://www.nps.gov , https://www.cdc.gov
• Where input fields offer
typeahead functionality, use
ARIA and event listeners if
needed to enable focus to
move to the list as soon as
it’s available.
• Include the empty div /
container in the code on
page load and position it
immediately after the
search box to minimize
extra work.
Creative Commons – Some Rights Reserved
24
LESSONS LEARNED
Test with keyboard and check ARIA attributes
Sample Code – USA.gov Code, but with *improvements*!
<input id="search-field-small" type="search" name="query" placeholder="Search All Government"
onfocus="this.placeholder = ''" class="text usagov-search-autocomplete ui-autocomplete-input"
autocomplete="off" aria-autocomplete="list" aria-haspopup="true" aria-describedby="number-
results">
<p id="number-results" role="status" aria-live="assertive" aria-relevant="additions"
class="ui-helper-hidden-accessible"
<ul class="show-on-results" id="search-results" role="">
<li><a href=“…”>benefits for kids under 18</a></li>
<li><a href="…">benefits for seniors in tennessee</a></li></ul>
LESSONS LEARNED
Extend typeahead functionality
› Add offscreen element (e.g., <span>) with
role=“status” and aria-live=“polite” to provide
feedback on # of results, navigation tips
› Add keydown listener on down arrow to show and
set focus on the first result
Creative Commons – Some Rights Reserved
25
DEMO
Table abilities, plugins varied in accessibility26
LESSONS LEARNED
Pick accessible libraries and tweak as needed
› 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
27
DEMO
Interactive charts still evolving
Creative Commons – Some Rights Reserved
28
Source: http://www.chartjs.org/samples/latest/charts/pie.html
LESSONS LEARNED
Use chart libraries that show labels or raw data
Creative Commons – Some Rights Reserved
29
LESSONS LEARNED
Use chart libraries that show labels or raw data
Creative Commons – Some Rights Reserved
30
GROUP EXERCISE #1
» Triage your site
› Look at menus, tables, interactive sliders, carousels, media,
search
› Watch for 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?
31
A better strategy
» Planning A11y into Frameworks
32
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
33
2. Describe interactions, test criteria, examples
› If click triggers action,
keyboard will also…
› If hover triggers action,
keyboard alternative…
› If error returned…
› If many links / elements in
the widget...
Creative Commons – Some Rights Reserved
34
3. Envision rendered code and review API
› How should the final code look to be accessible?
– <label for=“fieldID”>…
<input id=”fieldID” type…>
› Check the API to see how to generate that code
› Read HTML4 vs. HTML5 differences
– HTML4: Structure assistive technologies (AT) liked
<h2>A Heading</h2><div><p>…</p></div>
– HTML5: Anything goes – can sometimes break / do strange things with AT
<a href=“…”>…<h2><div>…</div></h2></a>
› Create standards for developers
– Unique ID – no duplicate IDs in rendered code
Creative Commons – Some Rights Reserved
35
… and model frameworks
› Check frameworks like Assets.CMS.gov for code
examples
Creative Commons – Some Rights Reserved
36
Assets.CMS.go
v
4. Prioritize elements with native interactions
› Start with native interactions
– <a href…>, <button>…
› Find libraries, frameworks that emphasize keyboard
accessibility
› Only use mouse-related listeners for non-critical
interactions
› Try interacting from different devices
– Keyboard only
– Mobile
Creative Commons – Some Rights Reserved
37
5. Choose tools with large communities
› Look at downloads, usage, active maintenance
› Check keyboard listener options, ARIA
› Find resources on StackOverflow, Quora, JSFiddle.net, CodePen.io
– site:codepen.io +aria +example +jquery/drupal/wp
– site:jsfiddle.net +aria +example +jquery/drupal/wp
– site:jsbin.com +aria +example +jquery/drupal/wp
› Google site:frameworkname +accessibility +…
– “How do I”
– Keyboard access
Creative Commons – Some Rights Reserved
38
WordPress Accessibility Site
https://make.wordpress.org/accessibility/
› WordPress’s accessibility site includes resources for
creating accessible plugins and themes.
Creative Commons – Some Rights Reserved
39
Drupal Groups Site
Accessibility (AX) Pledge Modules / Themes
› Drupal Group’s site lists modules and themes that
have pledge to be accessible and those that the
community wishes would take the pledge.
Creative Commons – Some Rights Reserved
40
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
#D7AX, #D8AX
Check usage stats if available
Creative Commons – Some Rights Reserved
41
6. Validate HTML and fix JavaScript errors
› HTML and JavaScript
errors:
– Break assistive technologies
– Cause unexpected and
“can’t reproduce” results
– Break event listeners
“downstream”
› Validate HTML using W3,
IDE, or other tools
› Use plugins and browser
console to catch JavaScript
errors
Creative Commons – Some Rights Reserved
42
7. Do a quick check
› Can you navigate using the keyboard? (Tab key)
› Are any menus keyboard-accessible, either with Enter or
Spacebar key on parent? Can you reach any pop-ups?
› Do form elements wrap labels in <label> tags?
› Do any dynamic elements have aria-* attributes in the
code?
› Do dynamic elements that return information or results
relate the element with the results?
Creative Commons – Some Rights Reserved
43
8. Use forums, API, examples
› Many JavaScript libraries document their APIs and
options
› Look for examples to see if and how you can
change things like labels, event listeners, and other
options
› Check forums like StackOverflow and others to see
if others experienced same issue
Creative Commons – Some Rights Reserved
44
› Look for accessibility frameworks that extend the
functionality or provide examples of how to make it
accessible
9. Apply (or create) a11y helpers
Creative Commons – Some Rights Reserved
45
Assets.CMS.gov
Standards.USA.gov
GROUP EXERCISE #2
» Go back to your site (or a site)
› How would you describe those items and test them?
› What would you want to add, look for to improve accessibility?
46
Useful a11y resources
› Knowbility Developer Resources
– Includes links to browser add-ons and favelets –
https://air-rallies.org/developer-resources/
› Center for Medicare & Medicaid Services
– Assets.cms.gov – Accessibility framework
– Medicare.gov – Accessible website
› Browser add-ons
– Check Chrome, Firefox, IE plugins, extensions
Creative Commons – Some Rights Reserved
47
Exemplar Sites
› Knowbility.org
› WCAG
› Assets.CMS.gov
› WebAIM.org
› Playbook.CIO.gov
› Standards.USA.gov
› Bootstrap-vue.js.org/docs/components
Creative Commons – Some Rights Reserved
48
Summary
• Rich, interactive elements present greatest challenge
• “Quick check” of plugin, module, library accessibility helps
• Describe how interactions should work and find examples
49
Contact
Kate Walser
kwalser@cxinsights.com • @kwalser
50

Más contenido relacionado

Similar a Surviving Dev Frameworks 2019

(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesMark Rackley
 
CSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersCSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersEduardo Meza-Etienne
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery GuideMark Rackley
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConSPTechCon
 
SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 Mark Rackley
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsAidan Tierney
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsSergei Martens
 
An Accessibility Update: Changes to Section 508
An Accessibility Update: Changes to Section 508An Accessibility Update: Changes to Section 508
An Accessibility Update: Changes to Section 508Kate Walser
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14Mark Rackley
 
Testing For Web Accessibility
Testing For Web AccessibilityTesting For Web Accessibility
Testing For Web AccessibilityHagai Asaban
 
MPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationMPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationShawn Day
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesMark Rackley
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipallanchao
 
10: The pitch & cool tools
10: The pitch & cool tools10: The pitch & cool tools
10: The pitch & cool toolsCOMP 113
 
Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Cyber-Duck
 
User Profiles: I Didn't Know I Could Do That (Updated Demo)
User Profiles:  I Didn't Know I Could Do That (Updated Demo)User Profiles:  I Didn't Know I Could Do That (Updated Demo)
User Profiles: I Didn't Know I Could Do That (Updated Demo)Stacy Deere
 
Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Aimee Maree Forsstrom
 

Similar a Surviving Dev Frameworks 2019 (20)

(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery Libraries
 
CSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersCSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen Readers
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
 
SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web Forms
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google Apps
 
An Accessibility Update: Changes to Section 508
An Accessibility Update: Changes to Section 508An Accessibility Update: Changes to Section 508
An Accessibility Update: Changes to Section 508
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
Testing For Web Accessibility
Testing For Web AccessibilityTesting For Web Accessibility
Testing For Web Accessibility
 
MPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationMPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for Presentation
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
 
API Design Tour: Dell
API Design Tour: DellAPI Design Tour: Dell
API Design Tour: Dell
 
10: The pitch & cool tools
10: The pitch & cool tools10: The pitch & cool tools
10: The pitch & cool tools
 
Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...
 
uppada_kishore_resume (1)
uppada_kishore_resume (1)uppada_kishore_resume (1)
uppada_kishore_resume (1)
 
User Profiles: I Didn't Know I Could Do That (Updated Demo)
User Profiles:  I Didn't Know I Could Do That (Updated Demo)User Profiles:  I Didn't Know I Could Do That (Updated Demo)
User Profiles: I Didn't Know I Could Do That (Updated Demo)
 
Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks Accessiblity 101 and JavaScript Frameworks
Accessiblity 101 and JavaScript Frameworks
 

Más de Kate Walser

Responsive Web Design for Universal Access: 2019
Responsive Web Design for Universal Access: 2019Responsive Web Design for Universal Access: 2019
Responsive Web Design for Universal Access: 2019Kate Walser
 
AccessU 2018 - Introduction to User Research
AccessU 2018 - Introduction to User ResearchAccessU 2018 - Introduction to User Research
AccessU 2018 - Introduction to User ResearchKate Walser
 
Usability Testing with People with Disabilities (2017)
Usability Testing with People with Disabilities (2017)Usability Testing with People with Disabilities (2017)
Usability Testing with People with Disabilities (2017)Kate Walser
 
Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016Kate Walser
 
Usability Testing with People with Disabilities
Usability Testing with People with DisabilitiesUsability Testing with People with Disabilities
Usability Testing with People with DisabilitiesKate Walser
 
Usability Testing for Usable Accessibility
Usability Testing for Usable AccessibilityUsability Testing for Usable Accessibility
Usability Testing for Usable AccessibilityKate Walser
 
Responsive Web Design for Universal Access
Responsive Web Design for Universal AccessResponsive Web Design for Universal Access
Responsive Web Design for Universal AccessKate Walser
 
Engaging Users with Social Media
Engaging Users with Social MediaEngaging Users with Social Media
Engaging Users with Social MediaKate Walser
 
Quick Check Usability Testing - UPA 2012
Quick Check Usability Testing - UPA 2012Quick Check Usability Testing - UPA 2012
Quick Check Usability Testing - UPA 2012Kate Walser
 
The UX of Gov 2.0
The UX of Gov 2.0The UX of Gov 2.0
The UX of Gov 2.0Kate Walser
 
On target three-ways-to-keep-audience-in-focus_ivmg
On target three-ways-to-keep-audience-in-focus_ivmgOn target three-ways-to-keep-audience-in-focus_ivmg
On target three-ways-to-keep-audience-in-focus_ivmgKate Walser
 
User focus ux_of_ri_as
User focus ux_of_ri_asUser focus ux_of_ri_as
User focus ux_of_ri_asKate Walser
 
Designing Gov 2.0 That's Inclusive
Designing Gov 2.0 That's InclusiveDesigning Gov 2.0 That's Inclusive
Designing Gov 2.0 That's InclusiveKate Walser
 

Más de Kate Walser (14)

Responsive Web Design for Universal Access: 2019
Responsive Web Design for Universal Access: 2019Responsive Web Design for Universal Access: 2019
Responsive Web Design for Universal Access: 2019
 
AccessU 2018 - Introduction to User Research
AccessU 2018 - Introduction to User ResearchAccessU 2018 - Introduction to User Research
AccessU 2018 - Introduction to User Research
 
Usability Testing with People with Disabilities (2017)
Usability Testing with People with Disabilities (2017)Usability Testing with People with Disabilities (2017)
Usability Testing with People with Disabilities (2017)
 
Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016
 
Usability Testing with People with Disabilities
Usability Testing with People with DisabilitiesUsability Testing with People with Disabilities
Usability Testing with People with Disabilities
 
Fonts new
Fonts newFonts new
Fonts new
 
Usability Testing for Usable Accessibility
Usability Testing for Usable AccessibilityUsability Testing for Usable Accessibility
Usability Testing for Usable Accessibility
 
Responsive Web Design for Universal Access
Responsive Web Design for Universal AccessResponsive Web Design for Universal Access
Responsive Web Design for Universal Access
 
Engaging Users with Social Media
Engaging Users with Social MediaEngaging Users with Social Media
Engaging Users with Social Media
 
Quick Check Usability Testing - UPA 2012
Quick Check Usability Testing - UPA 2012Quick Check Usability Testing - UPA 2012
Quick Check Usability Testing - UPA 2012
 
The UX of Gov 2.0
The UX of Gov 2.0The UX of Gov 2.0
The UX of Gov 2.0
 
On target three-ways-to-keep-audience-in-focus_ivmg
On target three-ways-to-keep-audience-in-focus_ivmgOn target three-ways-to-keep-audience-in-focus_ivmg
On target three-ways-to-keep-audience-in-focus_ivmg
 
User focus ux_of_ri_as
User focus ux_of_ri_asUser focus ux_of_ri_as
User focus ux_of_ri_as
 
Designing Gov 2.0 That's Inclusive
Designing Gov 2.0 That's InclusiveDesigning Gov 2.0 That's Inclusive
Designing Gov 2.0 That's Inclusive
 

Último

Real service provider college girl Mira Road 8976425520
Real service provider college girl Mira Road 8976425520Real service provider college girl Mira Road 8976425520
Real service provider college girl Mira Road 8976425520modelanjalisharma4
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyNitya salvi
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Websitemark11275
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证eeanqy
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...amitlee9823
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...sonalitrivedi431
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...nirzagarg
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxbingyichin04
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...instagramfab782445
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationZenSeloveres
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...BarusRa
 

Último (20)

Real service provider college girl Mira Road 8976425520
Real service provider college girl Mira Road 8976425520Real service provider college girl Mira Road 8976425520
Real service provider college girl Mira Road 8976425520
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 

Surviving Dev Frameworks 2019

  • 1. SURVIVING DEV FRAMEWORKS: LESSONS LEARNED WITH DRUPAL, WORDPRESS, JQUERY, AND MORE Kate Walser • CX Insights kwalser@cxinsights.com • @kwalser Slides @ https://www.slideshare.net/kwalser
  • 2. CHALLENGE Costly commercial software › As the market crashed in the late 1990s and early 2000s and the recession hit, agencies and businesses were finding ways to cut costs. Creative Commons – Some Rights Reserved 2 Image credit: “Piggy Banks with savings chart,” by managementwritingsolutions Flickr Creative Commons
  • 3. TRENDING Agile Creative Commons – Some Rights Reserved 3
  • 4. TRENDING Frameworks & Open Source Creative Commons – Some Rights Reserved 4 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.
  • 5. THE PROMISE Powerful, Quicker to build apps Creative Commons – Some Rights Reserved 5
  • 6. THE SIDE EFFECT Black box accessibility Creative Commons – Some Rights Reserved 6
  • 7. » More Complex User Experiences 7
  • 8. Content Management Publish, Edit, Approve › WordPress, Drupal, Joomla, Grav, 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. Creative Commons – Some Rights Reserved 8
  • 9. Forms Cues, Formats, Feedback › 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. Creative Commons – Some Rights Reserved 9
  • 10. Dynamic Areas Autocompletes, Data-dependent forms, Pop-ups › Functionality like autocomplete, typeahead search / results, data-driven forms are popping up across sites. Creative Commons – Some Rights Reserved 10
  • 11. Navigation Drop-downs, Megamenus, Mobile menus › Menu trends totally collapsed menus and that drop-down menus that are only available on hover Creative Commons – Some Rights Reserved 11
  • 12. Search & Queries Tables, Filter, Show X rows, Pagerlinks Creative Commons – Some Rights Reserved 12 Example: https://datatables.net/
  • 13. Big Data Charts and Tables New and easier to leverage chart libraries are giving organizations quick and easy ways to show big data in charts and scorecards. Creative Commons – Some Rights Reserved 13 Source: https://cloud.google.com/blog/big-data/2017/04/how-to-build-a-bi-dashboard-using-google- data-studio-and-bigquery
  • 14. » Lessons Learned 14 Photo credit: “Caution Falling Hardware,” fdecomite
  • 15. It’s accessible if I can… › Get there › Know where I am › Know what I can do - Jim Thatcher Creative Commons – Some Rights Reserved 15 ACCESSIBLE APPS Overarching Principles
  • 16. FOR FRAMEWORKS Accessible content’s easy(er)… › Content headings › Labels for basic fields › Table headings › Skip to main content Creative Commons – Some Rights Reserved 16
  • 17. WHEN USING FRAMEWORKS Richer content and interactions fell short 1. Title, not alt attribute, was default text for media 2. Tables pasted in from Word lost headings 3. Keyboard and speech recognition had less support 4. Accessible rich Internet application (ARIA) support to provide context, info varied › Good for menus › Lacking for autocomplete and dynamic widgets Creative Commons – Some Rights Reserved 17
  • 18. DEMO Pop-ups, menus weren’t reachable › Websites with pop-ups for tooltips, navigation menus, and modals and dialogs weren’t always reachable by keyboard. Creative Commons – Some Rights Reserved 18 http://qtip2.com/demos
  • 19. LESSONS LEARNED Add key listeners, focus management › Add keyboard alternative for click and hover events – Use native <a href> and interactive elements (button, etc.) when possible – Level 1 menu links sometimes removed href that provides keyboard support – Add hover only after keyboard handled › Verify that focus outline available › Set focus when open pop-up windows and dialogs › Provide a11y info via Help, offscreen text, or ARIA Creative Commons – Some Rights Reserved 19
  • 20. DEMO Form labels, helper text, feedback weren’t accessible Example: https://kwalser.wufoo.com/forms/applicant/ Creative Commons – Some Rights Reserved 20
  • 21. LESSONS LEARNED Adjust rendering of labels, helper text with ARIA, listeners › Adjust out of box required field settings – Change the symbol * to the word Required – Add required attribute to field $form[$key]['#attributes']['required'] = 'required'; › Assign field descriptions to fields – $form['account']['mail']['#attributes'] = array( 'disabled' => 'disabled', 'aria-describedby' => 'email-helptext'); › Adjust code for custom items – aria-haspopup or aria-controls when forms and other options open in dialogs – aria-live for things like character counts Creative Commons – Some Rights Reserved 21
  • 22. LESSONS LEARNED Set focus to feedback area and add “aria-describedby” for field-level errors › Improve status messages – Move focus to success / error messages after validation – Include links to fields with problems › Associate error message with field via ARIA Creative Commons – Some Rights Reserved 22 Example: https://assets.cms.gov/resources/framework/3.4.1/Pages/#formvalidator
  • 23. DEMO Search, typeahead weren’t keyboard accessible or didn’t announce result set Creative Commons – Some Rights Reserved 23 Example: https://www.nps.gov , https://www.cdc.gov
  • 24. • Where input fields offer typeahead functionality, use ARIA and event listeners if needed to enable focus to move to the list as soon as it’s available. • Include the empty div / container in the code on page load and position it immediately after the search box to minimize extra work. Creative Commons – Some Rights Reserved 24 LESSONS LEARNED Test with keyboard and check ARIA attributes Sample Code – USA.gov Code, but with *improvements*! <input id="search-field-small" type="search" name="query" placeholder="Search All Government" onfocus="this.placeholder = ''" class="text usagov-search-autocomplete ui-autocomplete-input" autocomplete="off" aria-autocomplete="list" aria-haspopup="true" aria-describedby="number- results"> <p id="number-results" role="status" aria-live="assertive" aria-relevant="additions" class="ui-helper-hidden-accessible" <ul class="show-on-results" id="search-results" role=""> <li><a href=“…”>benefits for kids under 18</a></li> <li><a href="…">benefits for seniors in tennessee</a></li></ul>
  • 25. LESSONS LEARNED Extend typeahead functionality › Add offscreen element (e.g., <span>) with role=“status” and aria-live=“polite” to provide feedback on # of results, navigation tips › Add keydown listener on down arrow to show and set focus on the first result Creative Commons – Some Rights Reserved 25
  • 26. DEMO Table abilities, plugins varied in accessibility26
  • 27. LESSONS LEARNED Pick accessible libraries and tweak as needed › 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 27
  • 28. DEMO Interactive charts still evolving Creative Commons – Some Rights Reserved 28 Source: http://www.chartjs.org/samples/latest/charts/pie.html
  • 29. LESSONS LEARNED Use chart libraries that show labels or raw data Creative Commons – Some Rights Reserved 29
  • 30. LESSONS LEARNED Use chart libraries that show labels or raw data Creative Commons – Some Rights Reserved 30
  • 31. GROUP EXERCISE #1 » Triage your site › Look at menus, tables, interactive sliders, carousels, media, search › Watch for 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? 31
  • 32. A better strategy » Planning A11y into Frameworks 32
  • 33. 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 33
  • 34. 2. Describe interactions, test criteria, examples › If click triggers action, keyboard will also… › If hover triggers action, keyboard alternative… › If error returned… › If many links / elements in the widget... Creative Commons – Some Rights Reserved 34
  • 35. 3. Envision rendered code and review API › How should the final code look to be accessible? – <label for=“fieldID”>… <input id=”fieldID” type…> › Check the API to see how to generate that code › Read HTML4 vs. HTML5 differences – HTML4: Structure assistive technologies (AT) liked <h2>A Heading</h2><div><p>…</p></div> – HTML5: Anything goes – can sometimes break / do strange things with AT <a href=“…”>…<h2><div>…</div></h2></a> › Create standards for developers – Unique ID – no duplicate IDs in rendered code Creative Commons – Some Rights Reserved 35
  • 36. … and model frameworks › Check frameworks like Assets.CMS.gov for code examples Creative Commons – Some Rights Reserved 36 Assets.CMS.go v
  • 37. 4. Prioritize elements with native interactions › Start with native interactions – <a href…>, <button>… › Find libraries, frameworks that emphasize keyboard accessibility › Only use mouse-related listeners for non-critical interactions › Try interacting from different devices – Keyboard only – Mobile Creative Commons – Some Rights Reserved 37
  • 38. 5. Choose tools with large communities › Look at downloads, usage, active maintenance › Check keyboard listener options, ARIA › Find resources on StackOverflow, Quora, JSFiddle.net, CodePen.io – site:codepen.io +aria +example +jquery/drupal/wp – site:jsfiddle.net +aria +example +jquery/drupal/wp – site:jsbin.com +aria +example +jquery/drupal/wp › Google site:frameworkname +accessibility +… – “How do I” – Keyboard access Creative Commons – Some Rights Reserved 38
  • 39. WordPress Accessibility Site https://make.wordpress.org/accessibility/ › WordPress’s accessibility site includes resources for creating accessible plugins and themes. Creative Commons – Some Rights Reserved 39
  • 40. Drupal Groups Site Accessibility (AX) Pledge Modules / Themes › Drupal Group’s site lists modules and themes that have pledge to be accessible and those that the community wishes would take the pledge. Creative Commons – Some Rights Reserved 40 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 #D7AX, #D8AX
  • 41. Check usage stats if available Creative Commons – Some Rights Reserved 41
  • 42. 6. Validate HTML and fix JavaScript errors › HTML and JavaScript errors: – Break assistive technologies – Cause unexpected and “can’t reproduce” results – Break event listeners “downstream” › Validate HTML using W3, IDE, or other tools › Use plugins and browser console to catch JavaScript errors Creative Commons – Some Rights Reserved 42
  • 43. 7. Do a quick check › Can you navigate using the keyboard? (Tab key) › Are any menus keyboard-accessible, either with Enter or Spacebar key on parent? Can you reach any pop-ups? › Do form elements wrap labels in <label> tags? › Do any dynamic elements have aria-* attributes in the code? › Do dynamic elements that return information or results relate the element with the results? Creative Commons – Some Rights Reserved 43
  • 44. 8. Use forums, API, examples › Many JavaScript libraries document their APIs and options › Look for examples to see if and how you can change things like labels, event listeners, and other options › Check forums like StackOverflow and others to see if others experienced same issue Creative Commons – Some Rights Reserved 44
  • 45. › Look for accessibility frameworks that extend the functionality or provide examples of how to make it accessible 9. Apply (or create) a11y helpers Creative Commons – Some Rights Reserved 45 Assets.CMS.gov Standards.USA.gov
  • 46. GROUP EXERCISE #2 » Go back to your site (or a site) › How would you describe those items and test them? › What would you want to add, look for to improve accessibility? 46
  • 47. Useful a11y resources › Knowbility Developer Resources – Includes links to browser add-ons and favelets – https://air-rallies.org/developer-resources/ › Center for Medicare & Medicaid Services – Assets.cms.gov – Accessibility framework – Medicare.gov – Accessible website › Browser add-ons – Check Chrome, Firefox, IE plugins, extensions Creative Commons – Some Rights Reserved 47
  • 48. Exemplar Sites › Knowbility.org › WCAG › Assets.CMS.gov › WebAIM.org › Playbook.CIO.gov › Standards.USA.gov › Bootstrap-vue.js.org/docs/components Creative Commons – Some Rights Reserved 48
  • 49. Summary • Rich, interactive elements present greatest challenge • “Quick check” of plugin, module, library accessibility helps • Describe how interactions should work and find examples 49

Notas del editor

  1. Acronyms to know A11y = accessibility WCAG = web content accessibility guidelines ARIA = accessible rich Internet application standards
  2. 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
  3. 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.
  4. With today’s frameworks, creating an accessible product can feel like being locked in a jail with limited options to get out.
  5. Search, Tables & Filters
  6. 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
  7. With several plugins and libraries, we found great support for screen reader users. Accessible rich Internet application (ARIA) standards were great
  8. In several tools, there’s a built in asterisk that’s included in various positions –
  9. In several tools, there’s a built in asterisk that’s included in various positions – Drupal 8 example: .region-header .form-required:after { background-image: url(../../images/required.svg); }
  10. WordPress site Search uses plugin
  11. In several tools, there’s a built in asterisk that’s included in various positions –
  12. http://www.chartjs.org/samples/latest/charts/pie.html
  13. https://www.highcharts.com/samples/highcharts/accessibility/accessible-pie/
  14. 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
  15. HTML5 anything goes example: accents in ID attributes
  16. 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.
  17. 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