Case Study: Making an Accessible GreyMuzzle.org

A presentation at SANDcamp in February 2016 in San Diego, CA, USA by Carie Fisher

Slide 1

Slide 1

Case Study: Making an Accessible GreyMuzzle.org February 27, 2016

Slide 2

Slide 2

Intros Mark Casias Senior Drupal Developer - Mediacurrent Mark brings a fifteen year programming background and six years of Drupal experience to his role as Senior Drupal Developer at Mediacurrent. Highly involved in his local web community, Mark runs the ABQ Webgeeks Group and started the Albuquerque Drupal Users group. /in/markie 2

Slide 3

Slide 3

Intros Carie Fisher Senior Front End Developer - Mediacurrent Carie is a seasoned front-end developer who has been focused professionally on Drupal since 2009. In her role as a Senior Front-End Developer at Mediacurrent, she thrives on the challenge of turning a static mock-up into a responsive, live site that is both beautiful and functional. @cariefisher /in/cehfisher slideshare.net/CarieFisher 3

Slide 4

Slide 4

Intros Mario Hernandez Senior Front End Developer - Mediacurrent Mario is a Drupal themer and Front End Developer with nine years of Drupal experience. He is also a public speaker who has shared his passion for front end development, Drupal theming, design, and semantic markup at numerous conferences. @twittername /in/mariorhernandez slideshare.net/marequi 4

Slide 5

Slide 5

Intros Jessica Rothfuss Sr Technical Project Manager - BlackMesh Jessica Rothfuss is a Senior Technical Project Manager at BlackMesh in Ashburn, VA. She comes to the Drupal world two years ago with a dynamic history in technology. Jessica is the Donor Relations Chair for The Grey Muzzle Organization. Prior to this position, she served the organization as Facebook Manager for several years. Jessica found Grey Muzzle when a friend shared a rescue organization’s post about a senior dog helped by the organization. @jessbmesh /in/jessicarothfuss 5

Slide 6

Slide 6

Overview 1 About Grey Muzzle 2 Accessibility Considerations 3 Front End Development 4 Back End Development 6

Slide 7

Slide 7

About Grey Muzzle About Grey Muzzle

Slide 8

Slide 8

About Grey Muzzle Who is Grey Muzzle? We envision a world where no old dog dies alone and afraid. 12(ish) year old Buddy 14(ish) year old J.J. Helped with a medical expense grant Senior Therapy Dog grant

Slide 9

Slide 9

About Grey Muzzle The Redesign • Site design dated and hard to navigate • Donations via website difficult to find • Non-responsive design for mobile and tablet • Not remotely designed for accessibility • Difficult to use custom CMS • Unknown degree of technical support with site issues • No development support

Slide 10

Slide 10

About Grey Muzzle Redesign, yes! Now what?

Slide 11

Slide 11

About Grey Muzzle Partners Found!

Slide 12

Slide 12

About Grey Muzzle Grey Muzzle Challenges • First time through web design process • Undefined requirements • Board approval & agreement could be time consuming • Competing priorities

Slide 13

Slide 13

Accessibility & Design Considerations Accessibility & Design Considerations

Slide 14

Slide 14

Structure • Plan out heading & page structure • Add page titles for browser tabs & ‘skip to content’ link • The heading hierarchy is meaningful • Try not to skip heading levels • Use a markup validator tool 14

Slide 15

Slide 15

Color & Contrast • Use colors on the opposite ends of the color spectrum • Be careful with light shades • Do not rely on color alone to convey info to your users • Use solid color backgrounds • Use color/contrast WCAG standard testing tools 15

Slide 16

Slide 16

Fonts • Use a limited number of fonts & provide alternative fonts • Specify the font size in terms of %, em or a relative value • Use adequate font size - 10 pt min • Make sure there is enough contrast with the background • Limit the use of font variations 16

Slide 17

Slide 17

Links • Differentiate links with theme elements besides color • Use descriptive link text • Do not use images for links • Avoid super short or long links • Design link focus indicators. Ensure keyboard users can visibly identify links 17

Slide 18

Slide 18

Media • Use animation, video & audio carefully & selectively • Avoid flashing/strobing content • Provide ways to access content • USE ALT TAGS! Be accurate, be succinct, avoid being redundant, avoid “image of” phrases, & use empty alt attributes for decorative images 18

Slide 19

Slide 19

Front End Development Front End Development

Slide 20

Slide 20

Front End Development Theme Driven Development KSS-Node Style Guide 20

Slide 21

Slide 21

Front End Development 21

Slide 22

Slide 22

Front End Development 22

Slide 23

Slide 23

Front End Development 23

Slide 24

Slide 24

Front End Development 24

Slide 25

Slide 25

Front End Development Some Considerations Alt Text: Ensure your images use alternate text that describe the purpose of the image Semantic HTML Markup: Use proper HTML markups vs using CSS to style elements to look like markup (h1-h6) Skip Links: Helpful to provide jump links to allow visitors to jump through an entire menu into the main content Specify a language: Useful for screen readers (<html lang=”en”>….</html>) Use of ARIA: Defines a set of attributes that can be associated with elements to help assistive technologies interpret markup the right way. These attributes tell assistive technologies like screen readers the actual purpose of using those tags (i.e. <ul role=”menu”>…</ul>) Accessibility Developer Tool: Chrome Extension 25

Slide 26

Slide 26

Back End Development Back End Development

Slide 27

Slide 27

Back End Development Contributed Modules Accessible Mega Menu: used for the main menu of the site. This module integrates Adobe’s Accessible Mega Menu into Drupal. It does not all the features of a WAI-AIRA menu, but did allow users to tab through just the parent level menu items and expand and access the child level items only when desired Text Resize: for text resize capabilities. Browser zoom is better than nothing but it often adds a horizontal scroll to a page that is difficult for users with low vision. Add to Any: social share buttons. We tried other major social share buttons and none were remotely accessible without a major rewrite. Either the buttons weren’t navigable with a keyboard or the popup windows weren’t accessible or a combination of these 27

Slide 28

Slide 28

Back End Development Contributed Modules (cont.) Accessible Forms: great module that helped with better accessibility in Drupal forms. This module does 3 things: • Changes the required attribute from required=”true” to just required • Adds required label to required fields (instead of asterisk *) • Adds aria-invalid to form fields with errors 28

Slide 29

Slide 29

Back End Development Making the Output More Accessible • Overriding template (tpl.php) files • Using preprocess functions in our theme folder • Overriding Views output by excluding fields from display and then add markup with the appropriate fields to one custom text field • Updated: menu blocks, keyboard navigation, forms, accessibility toolbar, alt text, etc 29

Slide 30

Slide 30

Thank you! @Mediacurrent slideshare.net/mediacurrent Mediacurrent.com