In the old days, many developers looked at complex websites and web applications as a series of individual pages. These days, it’s all about abstracting these pages down to re-usable elements, modules and components which are then documented, designed and built as comprehensive pattern libraries. Pattern libraries can be used as an integral part of the UX, design and front-end development phases. But where should accessibility be included in these different types of pattern libraries? Come on a journey as we explore the pain and glory of baking accessibility into UX, design and front-end pattern libraries.
23. Modules are small sets of elements
that are joined together in re-usable
chunks.
24. 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.
25. 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
33. Screens are where modules and
components are combined into the
final concepts that are presented to
the user.
34. 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.
35. 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.
36. Generally, screens are not part of a
pattern library. The pattern library is
used to help create these screens.
50. 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.
51. For this reason, they are more often
style guides rather than pattern
libraries.
62. 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.
63. The problem is that they can easily
be applied incorrectly.
64. Pattern libraries should be built so
that modules and components are
referenced directly from the pattern
library in some way.
65. This means that they can be updated
automatically without leaving legacy
versions across an application.
83. UX/UI pattern libraries should
describe solutions to some aspects
of accessibility such as states,
behaviours, proximity, notifications,
error messages etc.
84. Good UX/UI pattern libraries even
help to describe how keystrokes
should allow users to “travel”
through complex components.
86. 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.
99. A feature is a stand-alone section of
a web application. A new feature
may require anything from a single
screen to multiple screens.
100. For example, in a banking web
application, a new feature could allow
customers to add additional bank
accounts to the system.
101. Because features are released
individually, accessibility reviews can
be conducted on an individual
feature rather than an entire
application or site.
102. A single feature build process with
accessibility review before launch
UX Test Build Test Launch
Review
103. And, if accessibility is considered
during all phases of feature
development, the accessibility review
should be even less painful.
104. A single feature build process with accessibility
integrated throughout all phases
A A Review
UX Test Build Test Launch
105. However, with the use of pattern
libraries, accessibility can be “baked
in” even earlier in the process.
106. In many cases, an initial pattern library
is built before any features are
ready.
107. These initial pattern libraries often
include elements and modules but no
components.
108. Accessibility should be “baked into”
each of these modules. And, they
need to be carefully reviewed before
proceeding.
109. What does this mean?
Well, it means following basic
accessibility guidelines…
110. Making sure all modules use
semantic and well-formed markup.