SlideShare a Scribd company logo
Accessibility in
pattern libraries
Accessibility in
pattern libraries
Moving away
from pages
In the past, many people approached
complex websites and web
applications as a series of “pages”.
These pages were often designed and
built as complete entities.
More recently, in complex websites
and applications, the focus has
shifted from full page layouts to 

re-usable components.
A re-usable component could be a
layout grid structure, a button, an
input, a drop-down, a menu, a
heading, a table, or even a pullquote.
So, what are
pattern
libraries?
Pattern libraries are a collection of
user interface components that can
be used multiple times across a
website or web application.
On large websites and complex
applications, pattern libraries have a
range of benefits.
In many cases they make it faster
and easier to build.
If done well, they provide a shared
vocabulary across all teams.
And most importantly, they provide a
consistent level of quality.
Lego blocks?
Most complex pattern libraries follow
the “lego building block” concept.
This means that they start with
individual “lego building blocks”
and then use these block to build
larger and more complex
components.
Complex pattern libraries are often
broken down into categories such as
elements, modules and
components.
Elements Modules Components
Elements
Elements are standard HTML
elements such as headings, labels,
inputs, buttons, etc.
They are the basic lego building
blocks of the pattern library.
Most of these elements are rarely
used on their own - they are used to
make modules and components.
Modules
Modules are small sets of elements
that are joined together in re-usable
chunks.
For example, an input module could
include a label, an input, a hint text, a
possible error message and then all of
the possible states including focus,
hover, and disabled.
Static Input
Disabled Input
This field cannot be filled in
Error Message
Additional Information
Additional Information
Invalid Input
Focussed Input
Invalid user data
Value
Additional Information
Inputs
Placeholder
Static Input
Additional Information
Value
Disabled Input This field cannot be filled in
Error Message
Additional Information
Invalid Input
Focussed Input
Invalid user data
Additional Information
Inputs - Side-By-Side
Placeholder
Input module
Components
Components are modules that are
added together to build larger, more
comprehensive concepts.
An example might be a signup form
that includes various form control
modules, a button module and a
potential success/error module.
Elements
Modules
Component
Final screens
Screens are where modules and
components are combined into the
final concepts that are presented to
the user.
An example might be a login screen,
which not only has the login form
component, but also the navigation
component, header component and
footer component.
A screen may also have different
states depending on a number of
different factors, such as the type of
user, where they are in the current
process etc.
Generally, screens are not part of a
pattern library. The pattern library is
used to help create these screens.
Different types
of pattern
libraries
Pattern libraries can and should be
used during all phases of the design
and development process.
There are three distinctly different
types of pattern library:

UX/UI pattern libraries
Design style guides
Front end pattern libraries
UX/UI pattern
libraries
UX/UI pattern libraries often include

comprehensive documentation
that:
1. Define all elements, modules and
components.
2. Define the various states for all
elements, modules, components (i.e.
hover, focus, active states, logged-in
or logged out etc).
3. Define key dynamic behaviours
(i.e. animations, transitions, fly-outs,
drop-downs etc).
4. Define feedback and notification
mechanisms (i.e. success messages,
error messages etc).
5. Define additional information
associated with modules (i.e. hints,
tips etc).
These pattern libraries normally take
the form of detailed wireframes and/
or prototypes along with additional
documentation.
They help to communicate to internal
teams and stakeholders how a
website or app should be built.
Design style guides
During the design phase, the
emphasis is less about defining re-
usable modules and more about
defining a consistent “look and feel”
across every aspect of the website or
application.
For this reason, they are more often
style guides rather than pattern
libraries.
Design style guides should address:
1. How core branding will be
implemented across the website or
app.
2. The overall “look and feel”.
3. How typefaces and font-size will
be used.
4. How colour schemes will be used.
Front end pattern
libraries
Front-end pattern libraries should
produce fully functional HTML/CSS/
JS examples of all elements, modules
and components.
These examples should include all
states, dynamic behaviours and
feedback mechanisms.
These elements and modules can
then be used as needed to rapidly
build complex components and the
final screens.
The danger of copy/
paste pattern
libraries
One danger with front-end pattern
libraries is where modules and
components are presented as
examples that have to be copied and
pasted by developers.
The problem is that they can easily
be applied incorrectly.
Pattern libraries should be built so
that modules and components are
referenced directly from the pattern
library in some way.
This means that they can be updated
automatically without leaving legacy
versions across an application.
More importantly, they cannot be
applied incorrectly.
What about
existing pattern
libraries?
There is a wide range of pre-existing
UX and front-end pattern libraries
available today.
Some of these pattern libraries have a
simple purpose - such as predefined
sets of UI modules in wireframe form,
or front-end grid systems.
Others, especially in the front-end, are
full “frameworks” that offer a wide
range of fully functional elements,
modules and components.
There are some great benefits to
using a pre-existing framework.
They are often ready to use and are
therefore quick to implement.
They are also often useful for rapid
prototyping during the UX/UI phase.
However, there can be some
downsides as well.
The pre-build modules and
components may not suit your
project which means they have to be
heavily modified.
They often produce a generic look,
mainly because people are not
experienced enough to know how to
customise them.
You are also relying on someone else
for code quality.
This is especially true for
accessibility within pre-existing
frameworks.
Do you want to rely on others to make
sure all of your modules and
components are accessible?
Accessibility in
all phases
Many people focus on addressing
accessibility during the front-end
phase only.
However, accessibility can be
addressed to some degree during the
UX/UI and design phases as well.
UX/UI pattern libraries should
describe solutions to some aspects
of accessibility such as states,
behaviours, proximity, notifications,
error messages etc.
Good UX/UI pattern libraries even
help to describe how keystrokes
should allow users to “travel”
through complex components.
These descriptions should help
front-end teams when building the
final modules and components.
Design style guides should address a
range of design-related
accessibility concerns such as:
colour contrast, use of proximity, use
of iconography and font-size.
These requirements can then be
applied into the front-end modules
and components.
So, the UX/UI and design phases
provide recommendations and
requirements.
And these recommendations and
requirements can then be put into
action during the front-end phase.
Baking in
accessibility?
In the old days, accessibility reviews
were often tacked on at the end of
major site or application builds.
Often just before launch.
Full site build with accessibility review
just before launch
UX Design Build Launch
Review
Even worse, in some circumstances,
reviews were carried out after launch
- only when someone made a
complaint.
Full site build with accessibility review
after launch
UX Design Build Launch
Review
Of course, that sort of thing never
happens today… does it?
With complex applications and
websites, there has been a shift away
from a single massive build cycle.
Instead, complex applications and
websites are often rolled out in a
series of feature releases.
Feature Feature Feature Feature
Rolling feature releases over time
A feature is a stand-alone section of
a web application. A new feature
may require anything from a single
screen to multiple screens.
For example, in a banking web
application, a new feature could allow
customers to add additional bank
accounts to the system.
Because features are released
individually, accessibility reviews can
be conducted on an individual
feature rather than an entire
application or site.
A single feature build process with
accessibility review before launch
UX Test Build Test Launch
Review
And, if accessibility is considered
during all phases of feature
development, the accessibility review
should be even less painful.
A single feature build process with accessibility
integrated throughout all phases
A A Review
UX Test Build Test Launch
However, with the use of pattern
libraries, accessibility can be “baked
in” even earlier in the process.
In many cases, an initial pattern library
is built before any features are
ready.
These initial pattern libraries often
include elements and modules but no
components.
Accessibility should be “baked into”
each of these modules. And, they
need to be carefully reviewed before
proceeding.
What does this mean? 

Well, it means following basic
accessibility guidelines…
Making sure all modules use
semantic and well-formed markup.
Using alt attributes on images.
Making sure for and id attributes are
used correctly for labels and inputs.
Making sure th, thead, tbody are
used appropriately in tables.
Using additional aria roles, labels and
descriptions where appropriate.
If modules are built correctly, they
provides a solid foundation for all
future components.
The process is often similar to a
feature release, except the outcome
is the initial pattern library rather than
a feature.
Pattern library build with accessibility integrated
throughout all phases
A A Review
UX Design Build Ready
As new features move into
production, new components are built
and added into the pattern library.
Some people make the mistake of
assuming that these components will
automatically be accessible
because they use the tested modules
as a base.
However, components often present
their own accessibility issues.
For this reason, new components
should also be tested and reviewed
before launch, as part of the feature
release.
A single feature build process with accessibility
integrated throughout all phases
A A Review
UX Test Build Test Launch
Bottom line
For large websites and complex apps,
pattern libraries are critical.
UX/UI pattern libraries and design
style guides should include
accessibility as part of the process.
For front-end pattern libraries, make
sure to bake accessibility into all
core modules and test carefully.
Make sure to test all components
and screens as they are released
with features.
And, avoid building pattern libraries
that rely on developers having to
copy/paste code samples.
These steps will save a world of pain
in the future.
Russ Weakley
Max Design
Site: maxdesign.com.au
Twitter: twitter.com/russmaxdesign
Slideshare: slideshare.net/maxdesign
Linkedin: linkedin.com/in/russweakley

More Related Content

PDF
Accessibility in Pattern Libraries
PDF
Creating Acessible floating labels
PDF
10 Simple Rules for Making My Site Accessible
PDF
A primer on ux design
PDF
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
PPT
Designing Powerful Web Applications Using AJAX and Other RIAs
PPTX
Overview of Using Wordpress for Web Site Design
PDF
Neue Infos rund um WCAG 2.0
Accessibility in Pattern Libraries
Creating Acessible floating labels
10 Simple Rules for Making My Site Accessible
A primer on ux design
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Designing Powerful Web Applications Using AJAX and Other RIAs
Overview of Using Wordpress for Web Site Design
Neue Infos rund um WCAG 2.0

What's hot (18)

KEY
Introduction to HTML5/CSS3 In Drupal 7
PPT
Too much accessibility: Good intentions, badly implemented
PDF
The Audio User Experience for Widgets
PDF
HTML5 & CSS3 in Drupal (on the Bayou)
PDF
Joomla Template Tutorial
PPT
BP304 - Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
PDF
Wa html5-pdf
PPT
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
PPTX
Front End Development | Introduction
PDF
Template Frameworks
PPT
Introducing the JotSpot Data Model and API
PPT
2 Day - WPF Training by Adil Mughal
PDF
Devconf 2011 - PHP - How Yii framework is developed
PDF
Using Stylesheets To Design A Web Site In Dreamweaver Mx 2004
PDF
Wa html5-pdf
PPTX
Custom Template for Joomla! 3
PDF
Web Accessibility - A feature you can build
Introduction to HTML5/CSS3 In Drupal 7
Too much accessibility: Good intentions, badly implemented
The Audio User Experience for Widgets
HTML5 & CSS3 in Drupal (on the Bayou)
Joomla Template Tutorial
BP304 - Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
Wa html5-pdf
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Front End Development | Introduction
Template Frameworks
Introducing the JotSpot Data Model and API
2 Day - WPF Training by Adil Mughal
Devconf 2011 - PHP - How Yii framework is developed
Using Stylesheets To Design A Web Site In Dreamweaver Mx 2004
Wa html5-pdf
Custom Template for Joomla! 3
Web Accessibility - A feature you can build
Ad

Similar to Accessibility in pattern libraries (20)

PDF
Uxpin web ui design patterns 2014
PPTX
Building complex sites with Joomla
PDF
Web UI Design Patterns 2014
PDF
Technical-design-for-Angular-apps.pdf
DOCX
Best practices to optimize code and build robust and scalable web applications
PDF
The definitive guide to Web flowcharts
PPTX
Maintaining UI Standard in an Agile Team
PDF
Thinking in Components
PDF
CMS Web Designs
PPTX
UI Design - Organizing the page
PDF
Creating Style Guides with Modularity in Mind
PDF
Mvp pattern
PDF
12 Front-End App Development Languages to Consider in 2023
PPTX
Web-Development-Services-in-Pakistan.pptx
PDF
Analyzing bootsrap and foundation font-end frameworks : a comparative study
PDF
Design systems - Razvan Rosu
PPTX
Professional ui for a website design
PPTX
Software Engineering and Project Management - A Beginner's Guide - Part 3
DOCX
A report on mvc using the information
PDF
ITFT - Software
Uxpin web ui design patterns 2014
Building complex sites with Joomla
Web UI Design Patterns 2014
Technical-design-for-Angular-apps.pdf
Best practices to optimize code and build robust and scalable web applications
The definitive guide to Web flowcharts
Maintaining UI Standard in an Agile Team
Thinking in Components
CMS Web Designs
UI Design - Organizing the page
Creating Style Guides with Modularity in Mind
Mvp pattern
12 Front-End App Development Languages to Consider in 2023
Web-Development-Services-in-Pakistan.pptx
Analyzing bootsrap and foundation font-end frameworks : a comparative study
Design systems - Razvan Rosu
Professional ui for a website design
Software Engineering and Project Management - A Beginner's Guide - Part 3
A report on mvc using the information
ITFT - Software
Ad

More from Russ Weakley (20)

PDF
Accessible chat windows
PDF
Accessible names & descriptions
PDF
A deep dive into accessible names
PDF
What are accessible names and why should you care?
PDF
How to build accessible UI components
PDF
What is WCAG 2 and why should we care?
PDF
Accessible states in Design Systems
PDF
Creating accessible modals and autocompletes
PDF
Building an accessible progressive loader
PDF
Accessibility in Design systems - the pain and glory
PDF
Accessible Inline errors messages
PDF
Accessible Form Hints and Errors
PDF
What is accessibility?
PDF
Building an accessible auto-complete - #ID24
PDF
Building an accessible auto-complete
PDF
Creating an Accessible button dropdown
PDF
Creating a Simple, Accessible On/Off Switch
PDF
Accessible custom radio buttons and checkboxes
PDF
Deep Dive into Line-Height
PDF
Building Accessible Web Components
Accessible chat windows
Accessible names & descriptions
A deep dive into accessible names
What are accessible names and why should you care?
How to build accessible UI components
What is WCAG 2 and why should we care?
Accessible states in Design Systems
Creating accessible modals and autocompletes
Building an accessible progressive loader
Accessibility in Design systems - the pain and glory
Accessible Inline errors messages
Accessible Form Hints and Errors
What is accessibility?
Building an accessible auto-complete - #ID24
Building an accessible auto-complete
Creating an Accessible button dropdown
Creating a Simple, Accessible On/Off Switch
Accessible custom radio buttons and checkboxes
Deep Dive into Line-Height
Building Accessible Web Components

Recently uploaded (20)

PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
master seminar digital applications in india
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Complications of Minimal Access Surgery at WLH
PDF
Pre independence Education in Inndia.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
Pharma ospi slides which help in ospi learning
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
RMMM.pdf make it easy to upload and study
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Final Presentation General Medicine 03-08-2024.pptx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
FourierSeries-QuestionsWithAnswers(Part-A).pdf
master seminar digital applications in india
2.FourierTransform-ShortQuestionswithAnswers.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
102 student loan defaulters named and shamed – Is someone you know on the list?
Complications of Minimal Access Surgery at WLH
Pre independence Education in Inndia.pdf
Cell Types and Its function , kingdom of life
Pharma ospi slides which help in ospi learning
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
01-Introduction-to-Information-Management.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Supply Chain Operations Speaking Notes -ICLT Program
RMMM.pdf make it easy to upload and study
O5-L3 Freight Transport Ops (International) V1.pdf

Accessibility in pattern libraries