By Aaron Gustafson CHAPTER 7
- enhanced interaction
JavaScript, in concert with advanced HTML-based interactive elements
(e.g. details/summary, advanced input types) and related CSS styles, that en-
hances the usability of an interface. Enhanced interactions should human-
ize the interface and reduce any friction inherent in completing the specific
task. The JavaScripts we write and use should manipulate the document to
introduce the necessary markup and styles to create the enhanced inter-
face, thereby reducing the size of the page for non-JavaScript users.
No style or coding decisions we make should limit assistive tech-
nology’s access to the core experience if the JavaScript is executed. Our
JavaScripts should also introduce and update the ARIA attributes necessary
to provide assistive technology with useful details about the interface and
what is happening as a user interacts with it.
Each layer not only serves a technical purpose, but a human one. Every
decision we make, every key we press, affects our users’ experience. With
empathy as your guide, you’re more likely to make the right call.
Considering Constraints
The world of Web-enabled devices is extremely diverse and seems to get
more so every day. With each new platform, browser and rendering engine
having its own complex matrix of technical features and constraints, at-
tempting to craft a universally great experience can seem like a daunting
endeavor. Again, looking at an interface as serving a core purpose helps
maintain our sanity.
how DoeS iT ReaD?
First and foremost, we need to consider how an interface reads. Have you
ever used a screen reader? How about a text-based browser? Ever read
email as plain text? When we strip away the design, the semantics and the
interactive affordances of an interface, what we are left with is the core:
text, enhanced with hyperlinks. If our interface is functional in this con-