Making Accessible Drupal Sites Rick Ells UW Technology

Making Accessible Drupal
Sites
Rick Ells
UW Technology
About Drupal
•
•
•
•
Standards Based; xhtml, css, PHP
Large user community
Many templates to choose from
Many modules to choose from
Drupal Is Cool
• Centralized management
– Templates and modules
– Styles
– Scripting
• Content creation, editing, and maintenance
can be done without technical Web
knowledge
• Changes in styles, layout can be done across
the site without content maintainers
involvement
…More Cool
• Information management
– Categories
– Taxonomies
– Keywords
• Navigation structures generated for you
• Easy to add Web2.0 features
…Even More Cool
• Authentication, roles
• Workflow
• Customization based on default
designs, templates, styles
– Intercepts, overrides, and subthemes
Being Accessible
WCAG 2.0 Guidelines
• Perceivable
• Operable
• Understandable
• Robust
Web Content Accessibility Guidelines (WCAG) 2.0
http://www.w3.org/TR/WCAG20/
Accessible Design Efficiency
• Templates, stylesheets, modules can address
many aspects of accessible design
• Content authors and editors do not have to
know as much about…
–
–
–
–
–
–
Skip to content
Font sizing
Color choices
Labeling, Alt texts
Semantic markup
Page layout
Steps to Accessible Design
1.
2.
3.
4.
5.
6.
Install
Update
Select theme
Add modules
Build blocks
Apply your design
1. Install
• Installing Drupal
http://www.washington.edu/computing/web/publishing/drupal.ht
ml
• SQL Database
http://www.washington.edu/computing/web/publishing/mysql.ht
ml
2. Update
• Updates are essential
• Each time the administrator logs in
Drupal will display messages of needed
updates
• Do them promptly
3. Select Theme
• Tables or tableless?
– Tableless layouts best, especially if fluid
• Controllable with CSS
• Reading order can be independent of layout position
• Fluid sizing allows scaling by user as needed
– Table layout not so good
• Imposes reading sequence
• Presentation only somewhat controllable with CSS
– Nested tables bad
• Navigation nightmare
• Many theme design philosophies
Managing Themes
Accessible Themes
Box_grey Theme
Blue Bars Theme
Blue Lake Theme
Celju Theme
Clean Theme
CWS Theme
Flexible 2 Theme
Genesis Theme
Pluralism Theme
Pixture Reloaded
Theme
Tendu Theme
Zen Theme
The Eleven Most Accessible Drupal 6 Themes
http://openconcept.ca/blog/mgifford/function_assessment_of_valid_drupal_6_themes
Theme Problems
• Non-nested use of h-elements
– One h1 per page; main topic
– h2; subtopics
– h3; subsubtopics, etc.
• Inconsistencies among modules in how
headings are done
• Deeply nested tables
• Not specifying default language
4. Add Modules
• Hundreds of modules are available
• Offer a wide range of functionality
– Editors, games, feeds, tools
• Most are standards compliant
– Problem: Inconsistent implementations
among modules
• Frequently updated
Managing Modules
5. Build Blocks
• Blocks contain the code fragments for the
different areas of your layout
• Blocks are placed in page regions
• Must be well-formed and strictly compliant to
fit in context
– Structured, semantic markup very desireable to
get CSS to work
• How you add things like “Skip to Content”
Semantic Markup
• Use elements according to their logical type
– Make headings with h-elements, not big bold
paragraphs
• Properly nest h-elements
– H1 is the main page topic, h2s are subtopics, h3s
are subsubtopics, etc.
• Choose a content editor that makes semantic
markup possible, even if you have to go into
html mode sometimes
6. Apply Your Design
• Use subtheme, intercept, and override
methods
– Never modify original templates, stylesheets,
• Customize templates
• Customize CSS
–
–
–
–
Layout adjustments
Color scheme
Font size
Contrast
Color Scheme
• Color Selection: Consider the colorblind
Color Scheme
• Contrast: 5:1 or more for
text:background contrast
Maintaining Accessibility
• Do
–
–
–
–
–
–
Validate all modifications - strictly compliant
Choose editor that makes semantic HTML
Consider content flow in page structure
Add aids such as “Skip to Content”
Use semantic markup
Use scripting libraries and methods that support
accessibility
Maintaining Accessibility
• Don’t
– Invent non-semantic elements (divs) when
appropriate semantic elements are available
– Used fixed sizes
– Reduce contrast for artistic effect
– Put essential content exclusively in media
– Have visual media without captioning
Drupal Accessibility Activity
• Accessibility Group
http://groups.drupal.org/accessibility
• The Eleven Most Accessible Drupal 6 Themes
http://openconcept.ca/blog/mgifford/function_assessment_of_valid_dru
pal_6_themes
• Accessibility Best Practices in Drupal Theming
http://szeged2008.drupalcon.org/program/sessions/accessibility-bestpractices-drupal-theming
Evaluating Your Drupal Site
• WAVE
http://wave.webaim.org/
• Functional Accessibility Evaluator
http://fae.cita.uiuc.edu/
• WebAnywhere
http://wa.cs.washington.edu
• Yellowpipe Lynx Viewer
https://addons.mozilla.org/en-US/firefox/addon/1944
• Wickline Colorlab
http://colorlab.wickline.org/colorblind/colorlab/
• Paciello Group Color Contrast Analyzer
http://www.paciellogroup.com/resources/contrast-analyser.html