Articles, Links, and Tools From An Event Apart Seattle 2019
Jeffrey Zeldman
<!–
Margot Bloomstein
–>
Sarah Parmenter
- Ancestry
- Facebook Ad Preferences
- Every Website
- This Person Does not Exist
- Kill Your Personas
- Natural Cycles
- Google Photos
- Bloom & Wild
- Design for Real Life
- GoSquared
Tools I use that are relevant to this work:
<!–
Eric Meyer
–>
Rachel Andrew
The code examples can be found in this CodePen Collection.
Flexbox
Sizing
- CSS Intrinsic and Extrinsic Sizing Spec
- How Big Is That Flexible Box
- CSS is Awesome discussion on CSS Tricks
- Graduating to Grid An Event Apart Video
- How Big Is That Box: Understanding Sizing in Grid Layout
Logical Properties and Values
- Logical Properties and Values Spec
- Understanding Logical Properties and Values
- CSS Logical Properties and Values on MDN
Scroll Snap
Subgrid (Grid Level 2)
Paged Media
Multicol
Fragmentation
Regions
Exclusions
Jen Simmons
Chris Coyier
ShopTalk Show’s How To Think Like a Front-End Developer Series
- Photo by Luke Wroblewski
- Tweet by Dan Cederholm
- Wikipedia: Choose Your Own Adventure
- Netflix sued by Choose Your Own Adventure publishers over Black Mirror: Bandersnatch
- How we built the Figma design team
- Stack Overflow Developer Survey 2017
- GitHut
- Module Counts
- Is front-end development having an identity crisis?
- Just markup
- The Great Divide
- Tales of a Non-Unicorn: A Story About The Trouble with Job Titles and Descriptions
- Tweet by Cory Ginnivan
- Reluctant Gatekeeping: The Problem With Full Stack
- Tweet by Brian Holt
- Full-Stack Developers
- Comment by Nils
Dribbble Shots from our How To Think Like a Front-End Developer Series
- Socialio – Events
- For all food lovers
- Sibling
- Finance app
- KIKK Festival 2017 – Homepage
- Mobile Homepage for CrowdRise By GoFundMe
- Shortstache2
- Fullscreen Hover Loop Effect
- Tracking Dashboard for Drivers Management
- Progress Board Interface for Education Platform
Related CSS-Tricks Articles/Videos I’ve Done:
Una Kravets
- Design Thinking
- Design thinking is a process for creative problem solving
- Design Thinking Process
- Design Thinking for Libraries
- Changing Experiences through Empathy – The Adventure Series
- Pittsburg Chidrens Hosptial Makes Visits Fun for Kids
- Natasha Jen: Design Thinking Is Bullsh*t
- Laddering Questions Drilling Down Deep and Moving Sideways in UX Research
- Worst Possible Idea
- 24 Top UX Prototyping Tools with Downloadable Comparison Table
- Prototypr
- A guide to paper prototyping & testing for web interfaces
- On Learning and Comprehension
- Screenlife App — a UI/UX case study
- Welcome to WhatsApp Pay — a UX case study
Scott Jehl
- Quirksmode
- Page Speed Insights
- Lighthouse
- HTTP Archive
- Apple Voiceover
- Google: Deprecating our AJAX crawling scheme
- Progressive Enhancement is Faster
- WebPageTest
- Optimizing CSS Delivery
- A pretty good svg system
- Inline or caching? Both please!
- Preload
- http2
- More Weight Does Not Mean More Wait
- Page weight avg
- What does my site cost?
- Alex Russell talk
- Cost of JS
- Ericcson Mobility Report
- Netflix Tweet
- Cost of Rehydration
- Code Splitting
- Lighthouse CI
- SpeedCurve
- Calibre
- Adobe Launch
- Sync and Async
- Personalization Drives Results
- CF Workers
- A/B Testing at the Edge
- using Workers to make static sites dynamic
- lazy sizes
- A Native lazy Load for the web
Luke Wroblewski
Device Numbers
- Device Shipments, IDC
- Device Lifespan Apple
- Device Lifespan Android
- US Retail Shopping
- Internet Advertising Revenue
Device Usage
- Nottingham Trent University researchers say phone users pick them up 85 times a DAY
- We touch our phones 2,617 times a day, says study
- Contextual Experience Sampling of Mobile Application Micro-Usage
- Putting a Finger on Our Phone Obsession
- How Do Users Really Hold Mobile Devices?
Performance
App Data
Churn/Retention
- One in Four Mobile Apps Are Abandoned After a Single Use
- Comscore’s U.S. Mobile App Report Available for Download
- New data shows losing 80% of mobile users is normal, and why the best apps do better
Push Notifications
Onboarding
- 牡蠣で亜鉛摂るの難しい?そんなことnothingサプリのススメ
- Why Vevo Got Rid of Onboarding Tutorial Screens
- Hotel Tonight – Mobile Innovation Summit
- Why Onboarding is the Most Crucial Part of Your Growth Strategy
Digital Transitions
- One Chart That Explains Why Traders Are Shorting Retail Stocks Like Crazy
- YouTube Tops 1 Billion Hours of Video a Day, on Pace to Eclipse TV
- The Consumer Evolution of The Music Business
- Film and TV streaming and downloads overtake DVD sales for first time
- Landline Phones Are a Dying Breed
- The Death of Clothing
Beth Dean
- Charles Montgomery – Happy City: Transforming Our Lives Through Urban Design
- Virginia Eubanks – Automating Inequality: How High-Tech Tools Profile, Police, and Punish the Poor
- Michelle McNamara – I’ll Be Gone In the Dark
- Chris Clearfield, András Tilcsik – Meltdown: Why Our Systems Fail and What We Can Do About It
- Nicholas Carr – The Shallows
Dan Mall
Jeremy Keith
Books
- DOM Scripting, 2005
- Bulletproof Ajax, 2007
- Going Offline, 2018
Sites
- adactio.com
- Resilient Web Design
- jQuery
- The Prime Number Shitting Bear
- Ampersand
- Trivago
- Clearleft
- The Session
- Una Kravets
- Sara Soueidan
- dConstruct Archive
Progressive Web Apps
- What the heck is a “Progressive Web App”? Seriously. by Ben Halpern
- Building Progressive Web Apps by Diogo Cunha
- Before You Build a PWA You Need a SPA by Mark Muskardin
- Tweet by Jake Archibald
- What is a PWA by Salva de la Puente
- Naming Progressive Web Apps by Frances Berriman
- Progressive Web App Checklist by Google
Sarah Drasner
Page Transitions
- Nuxt.js
- sdras/nuxt-type
- page-transitions-travelapp
- sdras/page-transitions-travelapp
- simonaco/page-transitions-travelapp
- sw-yx/page-transitions-react-travelapp
- aholachek/animate-css-grid
Responsive 3d
- Josh Carpenter
- A-frame
- 360º Image Gallery
- 360º Image Gallery
- SUPERMEDIUM – virtual reality browser
- Supercraft | Build VR Sites in VR
- ARKit 2
- Bring your lessons to life with Expeditions
- CityEngine Web Viewer
- Minh Pham
- How Virtual Reality Benefits Seniors
- Sea Hero Quest
- The Art of Journey – Augmented Reality Feature
- Easy Way to Make 360 VR Designs
Biofeedback
Val Head
- Exclusive Design – A well-researched read that will get you re-thinking your assumptions about accessibility and inclusive design.
- Your interactive makes me sick (and what to do about it) – A first-person account of the affects of vestibular disorders and similar disorders.
- Responsive design for motion – Potential triggers, and how to use prefers-reduced-motion from the WebKit blog.
- The prefer-reduced-motion query at a glance
- An introduction to the reduced motion query
<!–
Derek Featherstone
–>
Gerry McGovern
- Buurtzorg website
- Buurtzorg: the Dutch model of neighbourhood care that is going global
- It’s too slow! It’s taking 600 milliseconds to load: Larry Page – Gmail
- Ask HN: Anyone else find the new Gmail interface sluggish?
- The New Normal: Viacom young people study
- Physics paper sets record with more than 5,000 authors
- Atypical Combinations and Scientific Impact
- Top user tasks European Union
- Fast Path to a Great UX — Increased Exposure Hours
- Empathy: the web professional’s greatest skill
- How Slack Became a Unicorn Company in 2 Years
- Collaborating and Connecting: Gerry McGovern
- The Huge, Unseen Operation Behind the Accuracy of Google Maps
- Continuous user research in 11.6 seconds, Tomer Sharon, Amazon
- Inclusive content, ethical tech, and you: Sara Wachter-Boettcher, Confab 2018
- Make me think! The design of complexity. Ralph Ammer
- Gerry McGovern website
- Top Tasks: Customer Carewords website
A Few Words With Sara Soueidan
Sara Soueidan is a freelance front-end developer and trainer based in Lebanon. She specializes in creating modern front-end foundations with focus on semantics, modern CSS, SVG, responsive design and accessibility. She’s worked with clients including Provata Health and Smashing Magazine, and conducted workshops for (among others) Netflix, TELUS Digital, and the Royal Schiphol Group. In between client projects, Sara writes articles on all things front-end for magazines including Codrops, A List Apart, Smashing Magazine, CSS-Tricks, and more, and will be joining An Event Apart for the first time in 2019.
Tell us a little about what you’ve got going on, Sara.
This year I’m helping a client modernize their front-end architecture and code by creating a library of reusable, accessible UI patterns for their growing product, using the latest techniques in front-end. In between sessions of work, I’m preparing a new accessibility-focused workshop that I’ll be running at a few of events this year, in addition to a series of articles, and a couple of exciting personal projects that I look forward to sharing with everyone by the end of the year.
What tools do you rely on to help you do what you do?
I have a few indispensable tools in my toolkit that I have grown to depend on in my work.
In addition to the classical code editor and browser, I’ve started introducing more accessibility auditing tools into my workflow for accessibility testing.
While I already use VoiceOver on my Mac and the keyboard for testing, I have come to depend a lot on Chrome’s accessibility extensions. The aXe extension combined with Chrome’s Accessibility Developer Tools are excellent for doing quick accessibility auditing. They provide me with a clear overview of the state of accessibility of my UI components and suggest any changes or fixes whenever and wherever needed. They are also an excellent high-five and shoulder pat when they report full accessibility success.
For most of my CSS work, and especially CSS layout and fonts, I rely heavily on Firefox’s excellent developer tools. The Flexbox and Grid Inspectors allow you to inspect, examine, debug and modify layout and more. The Fonts editor is also designed to examine variable fonts—also one of CSS’s most exciting new features. These devtools are indispensable for my daily CSS work.
I’ve come to love Sketch for basic UI and component design. I usually team up with my clients’ teams to work on their projects, and most of my clients’ designers use Sketch as the primary design tool. In an attempt to bridge the gap more between my work and theirs, I’ve recently started taking courses all about using Sketch for creating Web interfaces and design systems. This might also allow me to provide similar services to my clients in the future, which is something I look forward to.
I use SVG images a lot in my work for iconography and illustrations and other UI elements. For optimizing the SVG files, I use the SVGO GUI—a simple drag-and-drop window which I use to optimize the icons and images before embedding them in my components.
Productivity-wise, Notion has proven to be an extremely useful tool that is steadily gaining popularity. I use it to draft articles, brainstorm ideas, take learning notes, plan client and personal projects, and more.
We hope your talk at An Event Apart is somewhere in there!
Absolutely! SVG is one of my favorite tools of the trade, and as part of my daily work, I’m also giving a talk all about the powerful format that they are. In it, I’m going to shine the light on one of the Web Platform’s most powerful features: SVG Filters, which are so powerful they can be used to create Photoshop-grade effects in the browser, using a few lines of code.
The talk will include a lot of code, but it has a perfect balance with design as well. We will be doing comparisons and we will see how we can recreate particular Photoshop effects using SVG, step-by-step. Probably the main takeaway, in addition to a lot of inspiration, will be a clear understanding of how SVG filters work, and how you can start using them and experimenting with them to create more portable and flexible graphical effects without resorting to graphics editors.
See Sara’s talk “SVG Filters: The Crash Course” at An Event Apart Boston (May 5-7), Washington DC (July 29-31), and San Francisco (December 9-11). Don’t miss your chance to learn from Sara and sixteen other world-class speakers!
“Scenario-Driven Design Systems” by Yesenia Perez-Cruz—An Event Apart video
Design systems aren’t new, but they’ve become incredibly popular in the past few years. They’re essential to building, maintaining, scaling, and evolving our sites and products, but creating a unified system that scales to serve a variety of content and use cases can be challenging. In this hour-long talk filmed live at AEA Orlando 2018, Yesenia Perez-Cruz shares insights from her experience creating a unified design system for eight media brands with eight distinct editorial strategies. See how to approach a design system via a user-centered lens, and learn how being scenario-driven helps you create a scalable design system that responds flexibly to specific contexts.
Yesenia Perez-Cruz is a design director at Vox Media, where she works on the on-platform user experience and design system of The Verge, Vox, SB Nation, Eater, Polygon, Racked, Curbed, and Recode. Earlier in her storied career, she created beautiful, functional design systems for clients like MTV, BBVA Compass, Papa John’s, and Harvard University while at Happy Cog and Intuitive Company, and helped clients improve site performance via asset budgets.
Enjoy all the videos in An Event Apart’s library. There are over 40 hours of them—all absolutely free! For more insightful presentations by the industry’s best and brightest, come to An Event Apart—three days of design, code, and content for web, UX, and interaction designers. And for your free monthly guide to all things web, design, and developer-y, subscribe to The AEA Digest.
Paint the Picture, Not the Frame: How Browsers Provide Everything Users Need
By Eric Bailey
Each month, A List Apart’s editors select an article An Event Apart attendees shouldn’t miss, and we share it here. Enjoy this month’s essential reading!—Ed.
Kip Williams, professor of psychology sciences at Purdue University, conducted a fascinating experiment called “cyberball.” In his experiment, a test subject and two other participants played a computer game of catch. At a predetermined time, the test subject was excluded from the game, forcing them to only observe as the clock ran down.
The experience showed increases in self-reported levels of anger and sadness, as well as lowering levels of the four needs. The digital version of the experiment created results that matched the results of the original physical one, meaning that these feelings occurred regardless of context.
After the game was concluded, the test subject was told that the other participants were robots, not other human participants. Interestingly, the reveal of automated competitors did not lessen the negative feelings reported. In fact, it increased feelings of anger, while also decreasing participants’ sense of willpower and/or self-regulation.
In other words: people who feel they are rejected by a digital system will feel hurt and have their sense of autonomy reduced, even when they believe there isn’t another human directly responsible.
So, what does this have to with browsers?
Every adjustment to the appearance and behavior of the features browsers let you manipulate is a roll of the dice, gambling on the delight of some at the expense of alienating others.
When using a browser to navigate the web, there’s a lot of sameness, until there isn’t. Most of the time we’re hopping from page-to-page and site-to-site, clicking links, pressing buttons, watching videos, filling out forms, writing messages, etc. But every once in awhile we stumble across something new and novel that makes us pause to figure out what’s going on.
Every website and web app is its own self-contained experience, with its own ideas of how things should look and behave. Some are closer to others, but each one requires learning how to operate the interface to a certain degree.
Some browsers can also have parts of their functionality and appearance altered, meaning that as with websites, there can be unexpected discrepancies. We’ll unpack some of the nuance behind some of these features, and more importantly, why most of them are better off left alone.
Scroll-to-top
All the major desktop browsers allow you to hit the Home key on the keyboard to jump to the top of the page. Some scrollbar implementations allow you to click on the top of the scrollbar area to do the same. Some browsers allow you to type Command+Up (macOS) / Ctrl+Up (Windows), as well. People who use assistive technology like screen readers can use things like banner landmarks to navigate the same way (provided they are correctly declared in the site’s HTML).
However, not every device has an easily discoverable way to invoke this functionality: many laptops don’t have a Home key on their keyboard. The tap-the-clock-to-jump-to-the-top functionality on iOS is difficult to discover, and can be surprising and frustrating if accidentally activated. You need specialized browser extensions to recreate screen reader landmark navigation techniques.
One commonly implemented UI solution for longer pages is the scroll-to-top button. It’s often fixed to the bottom-right corner of the screen. Activating this control will take the user to the top of the page, regardless of how far down they’ve scrolled.
If your site features a large amount of content per page, it may be worth investigating this UI pattern. Try looking at analytics and/or conducting user tests to see where and how often this feature is used. The caveat being if it’s used too often, it might be worth taking a long, hard look at your information architecture and content strategy.
Three things I like about the scroll-to-top pattern are:
- Its functionality is pretty obvious (especially if properly labeled).
- Provided it is designed well, it can provide a decent-sized touch target in a thumb-friendly area. For motor control considerations, its touch target can be superior to narrow scroll or status bars, which can make for frustratingly small targets to hit.
- It does not alter or remove existing scroll behavior, augmenting it instead. If somebody is used to one way of scrolling to the top, you’re not overriding it or interrupting it.
If you’re implementing this sort of functionality, I have four requests to help make the experience work for everyone (I find the Smooth Scroll library to be a helpful starting place):
- Honor user requests for reduced motion. The dramatic scrolling effect of whipping from the bottom of the page to the top may be a vestibular trigger, a situation where the system that controls your body’s sense of physical position and orientation in the world is disrupted, causing things like headaches, nausea, vertigo, migraines, and hearing loss.
- Ensure keyboard focus is moved to the top of the document, mirroring what occurs visually. Applying this practice will improve all users’ experiences. Otherwise, hitting Tab after scrolling to the top would send the user down to the first interactive element that follows where the focus had been before they activated the scroll button.
- Ensure the button does not make other content unusable by obscuring it. Be sure to account for when the browser is in a zoomed-in state, not just in its default state.
- Be mindful of other fixed-position elements. I’ve seen my fair share of websites that also have a chatbot or floating action button competing to live in the same space.
Scrollbars
If you’re old enough to remember, it was once considered fashionable to style your website scrollbars. Internet Explorer allowed this customization via a series of vendor-specific properties. At best, they looked great! If the designer and developer were both skilled and detail-oriented, you’d get something that looked like a natural extension of the rest of the website.
However, the stakes for a quality design were pretty high: scrollbars are part of an application’s interface, not a website’s. In inclusive design, it’s part of what we call external consistency. External consistency is the idea that an object’s functionality is informed and reinforced by similar implementations elsewhere. It’s why you can flip a wall switch in most houses and be guaranteed the lights come on instead of flushing the toilet.
While scrollbars have some minor visual differences between operating systems (and operating system versions), they’re consistent externally in function. Scrollbars are also consistent internally, in that every window and program on the OS that requires scrolling has the same scrollbar treatment.
If you customize your website’s scrollbar colors, for less technologically literate people, yet another aspect of the interface has changed without warning or instruction on how to change it back. If the user is already confused about how things on the screen work, it’s one less familiar thing for them to cling to as stable and reliable.
You might be rolling your eyes reading this, but I’d ask you to check out this incredible article by Jennifer Morrow instead. In it, she describes conducting a guerilla user test at a mall, only to have the session completely derailed when she discovers someone who has never used a computer before.
What she discovers is as important as it is shocking. The gist of it is that some people (even those who have used a computer before) don’t understand the nuance of the various “layers” you navigate through to operate a computer: the hardware, the OS, the browser installed on the OS, the website the browser is displaying, the website’s modals and disclosure statements, etc. To them, the experience is flat.
We should not expect these users to juggle this kind of cognitive overhead. These kinds of abstractions are crafted to be analogous to real-world objects, specifically so people can get what they want from a digital system without having to be programmers. Adding unnecessary complexity weakens these metaphors and gives users one less reference point to rely on.
Remember the cyberball experiment. When a user is already in a distressed emotional state, our poorly-designed custom scrollbar might be the death-by-a-thousand-paper-cuts moment where they give up on trying to get what they want and reject the system entirely.
While Morrow’s article was written in 2011, it’s just as relevant now as it was then. More and more people are using the internet globally, and more and more services integral to living daily life are getting digitized. It’s up to us as responsible designers and developers to be sure we make everyone, regardless of device, circumstance, or ability feel welcome.
In addition to unnecessarily abandoning external consistency, there is the issue of custom scrollbar styling potentially not having sufficient color contrast. The too-light colors can create a situation where a person experiencing low-vision conditions won’t be able to perceive, and therefore operate, a website’s scrolling mechanism.
This article won’t even begin to unpack the issues involved with custom implementations of scrollbars, where instead of theming the OS’s native scrollbars with CSS, one instead replaces them with a JavaScript solution. Trust me when I say I have yet to see one implemented in a way that could successfully and reliably recreate all features and functionality across all devices, OSes, browsers, and browsing modes.
In my opinion? Don’t alter the default appearance of an OS’s scrollbars. Use that time to work on something else instead, say, checking for and fixing color contrast problems.
Scrolling
The main concern about altering scrolling behavior is one of consent: it’s taking an externally consistent, system-wide behavior and suddenly altering it without permission. The term scrolljacking has been coined to describe this practice. It is not to be confused with scrollytelling, a more considerate treatment of scrolling behavior that honors the OS’s scrolling settings.
Altering the scrolling behavior on your website or web app can fly in the face of someone’s specific, expressed preferences. For some people, it’s simply an annoyance. For people with motor control concerns, it could make moving through a site difficult. In some extreme cases, the unannounced discrepancy between the amount of scrolling and the distance traveled can also be vestibular triggers. Another consideration is if your modified scrolling behavior accidentally locks out people who don’t use mice, touch, or trackpads to scroll.
All in all, I think Robin Rendle said it best:
Highlighting
Another OS feature we’re permitted to style in the browser is highlighted text. Much like scrollbars, this is an interface element that is shared by all apps on the OS, not just the browser.
Breaking the external consistency of the OS’s highlighting color has a lot of the same concerns as styled scrollbars, namely altering the expected behavior of something that functions reliably everywhere else. It’s potentially disorienting and alienating, and may deny someone’s expressed preferences.
Some people highlight text as they read. If your custom highlight style has a low contrast ratio between the highlighted text color and the highlighted text’s background color, the person reading your website or web app may be unable to perceive the text they’re highlighting. The effect will cause the text to seemingly disappear as they try to read.
Other people just may not care for your aesthetic sensibilities. Both macOS and Windows allow you to specify a custom highlight color. In a scenario where someone has deliberately set a preference other than the system default, a styled highlight color may override their stated specifications.
For me, the potential risks far outweigh the vanity of a bespoke highlight style—better to just leave it be.
Text resizing
Lots of people change text size to suit their needs. And that’s a good thing. We want people to be able to read our content and act upon it, regardless of whatever circumstances they may be experiencing.
For the problem of too-small text, some designers turn to text resizing widgets, a custom UI pattern that lets a person cycle through a number of preset CSS font-size
values. Commonly found in places with heavy text content, text resizing widgets are often paired with complex, multicolumn designs. News sites are a common example.
Before I dive into my concerns with text resizing widgets, I want to ask: if you find that your site needs a specialized widget to manage your text size, why not just take the simpler route and increase your base text size?
Like many accessibility concerns, a request for a larger font size isn’t necessarily indicative of a permanent disability condition. It’s often circumstantial, such as a situation where you’re showing a website on your office’s crappy projector.
Browsers allow users to change their preferred default font size, resizing text across websites accordingly. Browsers excel at handling this setting when you write CSS that takes advantage of unitless line-height
values and relative font-size
units.
Some designers may feel that granting this liberty to users somehow detracts from their intended branding. Good designers understand that there’s more to branding than just how something looks. It’s about implementing the initial design in the browser, then working with the browser’s capabilities to best serve the person using it. Even if things like the font size are adjusted, a strong brand will still shine through with the ease of your user flows, quality of your typography and palette, strength of your copywriting, etc.
Unfortunately, custom browser text resizing widgets lack a universal approach. If you rely on browser text settings, it just works—consistently, with the same controls, gestures, and keyboard shortcuts, for every page on every website, even in less-than-ideal conditions. You don’t have to write and maintain extra code, test for regressions, or write copy instructing the user on where to find your site’s text resizing widget and how to use it.
Behavioral consistency is incredibly important. Browser text resizing is applied to all text on the page proportionately every time the setting is changed. These settings are also retained for the next time you visit. Not every custom text resizing widget does this, nor will it resize all content to the degree stipulated by the Web Content Accessibility Guidelines.
High-contrast themes
When I say high-contrast themes, I’m not talking about things like a dark mode. I’m talking about a response to people reporting that they need to change your website or web app’s colors to be more visually accessible to them.
Much like text resizing controls, themes that are designed to provide higher contrast color values are perplexing: if you’re taking the time to make one, why not just fix the insufficient contrast values in your regular CSS? Effectively managing themes in CSS is a complicated, resource-intensive affair, even under ideal situations.
Most site-provided high-contrast themes are static in that the designer or developer made decisions about which color values to use, which can be a problem. Too much contrast has been known to be a trigger for things like migraines, as well as potentially making it difficult to focus for users with some forms of attention-deficit hyperactivity disorder (ADHD).
The contrast conundrum leads us to a difficult thing to come to terms with when it comes to accessibility: what works for one person may actually inhibit another. Because of this, it’s important to make things open and interoperable. Leave ultimate control up to the end user so they may decide how to best interact with content.
If you are going to follow through on providing this kind of feature, some advice: model it after the Windows High Contrast mode. It’s a specialized Windows feature that allows a person to force a high color palette onto all aspects of the OS’s UI, including anything the browser displays. It offers four themes out of the box but also allows a user to suit their individual needs by specifying their own colors.
Your high contrast mode feature should do the same. Offer a range of themes with different palettes, and let the user pick colors that work best for them—it will guarantee that if your offerings fail, people still have the ability to self-select.
Moving focus
Keyboard focus is how people who rely on input such as keyboards, switch controls, voice inputs, eye tracking, and other forms of assistive technology navigate and operate digital interfaces. While you can do things like use the autofocus
attribute to move keyboard focus to the first input on a page after it loads, it is not recommended.
For people experiencing low- and no-vision conditions, it is equivalent to being abruptly and instantaneously moved to a new location. It’s a confusing and disorienting experience—there’s a reason why there’s a trope in sci-fi movies of people vomiting after being teleported for the first time.
For people with motor control concerns, moving focus without their permission means they may be transported to a place where they didn’t intend to go. Digging themselves out of this location becomes annoying at best and effort-intensive at worst. Websites without heading elements or document landmarks to serve as navigational aids can worsen this effect.
This is all about consent. Moving focus is fine so long as a person deliberately initiates an action that requires it (shifting focus to an opened modal, for example). I don’t come to your house and force you to click on things, so don’t move my keyboard focus unless I specifically ask you to.
Let the browser handle keyboard focus. Provided you use semantic markup, browsers do this well. Some tips:
- Use the
tabindex
attribute with care and discretion. - Don’t declare
tabindex
on interactive elements (a
,button
,input
,select
,summary
, andtextarea
). - Don’t use a manually curated
tabindex
order that runs parallel to what you’d expect a user to click on. Instead, author your HTML in such a way that the resulting DOM matches the visual order of the page. Taking a responsive, mobile first approach helps out a lot here.
The clipboard and browser history
The clipboard is sacred space. Don’t prevent people from copying things to it, and don’t append extra content to what they copy. The same goes for browser history and back and forward buttons. Don’t mess around with time travel, and just let the browser do its job.
Wrapping up
In the game part of cyberball, the fun comes from being able to participate with others, passing the ball back and forth. With the web, fun comes from being able to navigate through it. In both situations, fun stops when people get locked out, forced to watch passively from the sidelines.
Fortunately, the web doesn’t have to be one long cyberball experiment. While altering the powerful, assistive technology-friendly features of browsers can enhance the experience for some users, it carries a great risk of alienating others if changes are made with ignorance about exactly how much will be affected.
Remember that this is all in the service of what ultimately matters: creating robust experiences that allow people to successfully use your website or web app regardless of their ability or circumstance. Sometimes the best strategy is to let things be.
About the author
Eric Bailey is a Boston-based designer who helps create straightforward solutions that address a person’s practical, physical, cognitive, and emotional needs using accessible, performant, device-agnostic technology. He’s an inclusive design advocate, A11Y Project maintainer, MDN Web Docs contributor, and recovering curmudgeon.
Illustration by Dougal MacPherson.
For more information every web designer and front-end developer needs, read A List Apart “for people who make websites.”
“Beyond Engagement: the Content Performance Quotient” by Jeffrey Zeldman—An Event Apart video
Our products are tasked with providing ever-higher levels of “engagement,” but should they be? For many sites, analytics demonstrating high levels of “engagement” may actually be signs of failure. In this 60-minute talk filmed live at AEA, Jeffrey Zeldman introduces a new measure of design success: the content performance quotient. Learn how relentlessly trimming content and architecture, honing UX and UI, and shoring up technical performance can create experiences that are better attuned to today’s web. You’ll even find out how to sell this change in design thinking to your bosses, clients, and colleagues.
Dubbed “King of Web Standards” by Business Week, Jeffrey Zeldman co-founded An Event Apart with Eric Meyer; publishes A List Apart and A Book Apart books; teaches in the MFA, Interaction Design program at School of Visual Arts, New York; hosts The Big Web Show (“Everything Web That Matters”) podcast; and runs the studio.zeldman design agency. Jeffrey has written two books, notably the foundational text, Designing With Web Standards, currently in a 3rd Edition. He was the first human inducted in the SXSW Interactive Hall of Fame.
Enjoy all the videos in An Event Apart’s library! There are over 40 hours of them—all absolutely free! For more insightful presentations by the industry’s best and brightest, come to An Event Apart—three days of design, code, and content for web, UX, and interaction designers. And for your free monthly guide to all things web, design, and developer-y, subscribe to The AEA Digest.
Have Lunch With <cite>Rams</cite> in 2019
A legendary industrial designer. An award-winning documentary filmmaker. And today’s leading UX and front-end visionaries. What do they have in common? They’re all part of An Event Apart 2019. Read on to learn how.
Our back (web) pages
One of An Event Apart’s first speakers was Chicago designer Jim Coudal—publisher of coudal.com, inventor of Layer Tennis, and co-founder of the ever-popular Field Notes Brand. Jim’s not only a web and product designer, advertising art director, and entrepreneur, he’s also a filmmaker… and a close friend of legendary documentarian Gary Hustwit.
You may know Gary from such wonderful movies as Objectified, Urbanized, and Helvetica, the film that made everybody a type nerd. Gary’s latest project, Rams, is a documentary portrait of one of the most influential designers of all time: Dieter Rams, the industrial design giant who made previously humdrum products not only touchable, but downright lovable. Herr Rams’s 10 Principles of Good Design are spoken of reverently by designers from multiple disciplines.
Those ideas, and the aesthetic brilliance of his product design, had a fundamental impact on the first generation of web designers—from Clement Mok, who emulated Rams’ touchable buttons in Photoshop, to Jeffrey Zeldman and Eric Meyer, who tried to achieve the same effects in CSS. (And who later co-founded An Event Apart.)
What goes around
To bring things full circle, folks who attend An Event Apart in 2019 will be treated to a special lunchtime presentation of Rams on the Tuesday of each three-day conference. It’s an overview of a giant’s legacy, influencing everything from the aesthetic of an entire generation to the product design of Apple Computer. But it’s more than that—it’s a rumination on consumerism, sustainability, and how technology is changing human behavior. The film also addresses the question of why, at 86 years old, Herr Rams now regrets being a designer. And it’s all set to an original score by pioneering musician and technologist Brian Eno.
In addition to enjoying this private screening of Rams in the company of a few hundred of your colleagues and peers, attending An Event Apart in 2019 means you’ll also enjoy seventeen superb, live presentations from the visionaries of our industry: influencers like Val Head, Gerry McGovern, Jen Simmons, and so many more. Check the schedule to find the event nearest you—or in the great city you’d most like to visit this year—and make 2019 the year you set yourself Apart.
Have Lunch With <cite>Rams</cite> in 2019
A legendary industrial designer. An award-winning documentary filmmaker. And today’s leading UX and front-end visionaries. What do they have in common? They’re all part of An Event Apart 2019. Read on to learn how.
Our back (web) pages
One of An Event Apart’s first speakers was Chicago designer Jim Coudal—publisher of coudal.com, inventor of Layer Tennis, and co-founder of the ever-popular Field Notes Brand. Jim’s not only a web and product designer, advertising art director, and entrepreneur, he’s also a filmmaker… and a close friend of legendary documentarian Gary Hustwit.
You may know Gary from such wonderful movies as Objectified, Urbanized, and Helvetica, the film that made everybody a type nerd. Gary’s latest project, Rams, is a documentary portrait of one of the most influential designers of all time: Dieter Rams, the industrial design giant who made previously humdrum products not only touchable, but downright lovable. Herr Rams’s 10 Principles of Good Design are spoken of reverently by designers from multiple disciplines.
Those ideas, and the aesthetic brilliance of his product design, had a fundamental impact on the first generation of web designers—from Clement Mok, who emulated Rams’ touchable buttons in Photoshop, to Jeffrey Zeldman and Eric Meyer, who tried to achieve the same effects in CSS. (And who later co-founded An Event Apart.)
What goes around
To bring things full circle, folks who attend An Event Apart in 2019 will be treated to a special lunchtime presentation of Rams on the Tuesday of each three-day conference. It’s an overview of a giant’s legacy, influencing everything from the aesthetic of an entire generation to the product design of Apple Computer. But it’s more than that—it’s a rumination on consumerism, sustainability, and how technology is changing human behavior. The film also addresses the question of why, at 86 years old, Herr Rams now regrets being a designer. And it’s all set to an original score by pioneering musician and technologist Brian Eno.
In addition to enjoying this private screening of Rams in the company of a few hundred of your colleagues and peers, attending An Event Apart in 2019 means you’ll also enjoy seventeen superb, live presentations from the visionaries of our industry: influencers like Val Head, Gerry McGovern, Jen Simmons, and so many more. Check the schedule to find the event nearest you—or in the great city you’d most like to visit this year—and make 2019 the year you set yourself Apart.
“The Joy of Optimizing Images” by Una Kravets – An Event Apart video
Images are by far the greatest bottleneck to performance on the web, and with the average web page size now about 2.5MB large—images taking up 65% of that—we need to tame the beast. Running images through a compression program like ImageOptim is a good first step, but what else can we do?
In this engaging talk recorded live at An Event Apart Denver 2017, Una Kravets surveys new image formats and dives deeply into image rendering and performance optimization techniques, demonstrating practical approaches to making your web projects noticeably faster.
Una Kravets is a Senior UI Engineer at DigitalOcean. She’s a technical writer, having written for various online publications such as A List Apart, Smashing Magazine, and Sitepoint. Una also co-hosts the Toolsday podcast and started both the Washington DC and Austin Sass Meetups. Una is involved in the open source community as both an open source design advocate and maintainer of the CSSgram project. She’s a performance nerd, travels frequently, and listens to way too many audio books.
Enjoy all the videos in An Event Apart’s library! There are over 30 hours of them—all absolutely free! For more insightful presentations by the industry’s best and brightest, come to An Event Apart—three days of design, code, and content for web, UX, and interaction designers. And for your free monthly guide to all things web, design, and developer-y, subscribe to The AEA Digest.
“Evaluating Technology” by Jeremy Keith – An Event Apart video
We work with technology every day. And every day it seems like there’s more and more technology to understand: graphic design tools, build tools, frameworks and libraries, not to mention new HTML,CSS and JavaScript features landing in browsers. How should we best choose which technologies to invest our time in?
In this 60-minute presentation recorded live at An Event Apart Denver 2017, Jeremy Keith helps you learn to evaluate tools and technologies in a way that best benefits the people who use the websites you design and develop. You’ll look at some of the hottest new web technologies like service workers and web components. And dig beneath the hype to find out whether they will really change life on the web for the better.
Jeremy Keith lives in Brighton, England where he makes websites with the splendid design agency Clearleft. You may know him from such books as DOM Scripting, Bulletproof Ajax, HTML5 For Web Designers, Resilient Web Design, and, most recently, Going Offline. He curated the dConstruct conference for a number of years as well as Brighton SF, and he organized the world’s first Science Hack Day. He also made the website Huffduffer to allow people to make podcasts of found sounds—it‘s like Instapaper for audio files.
Enjoy all the videos in An Event Apart’s library! There are over 30 hours of them—all absolutely free! For more insightful presentations by the industry’s best and brightest, come to An Event Apart—three days of design, code, and content for web, UX, and interaction designers. And for your free monthly guide to all things web, design, and developer-y, subscribe to The AEA Digest.
“Digital Marketing Strategies for the Busy ‘Web Master’” by Sarah Parmenter – An Event Apart video
Thanks to dwindling attention spans and the pace at which online content refreshes, reaching through the screens of our customers to hold their attention is becoming increasingly difficult. Nowadays the job of the multi-faceted web designer is to not only know the latest techniques for building in Grid, but also know how to get that work seen amid the saturated world of digital marketing.
In this 60-minute presentation recorded live at An Event Apart Denver 2017, Sarah Parmenter discusses the idea of quarterly website design reviews with a “design once use everywhere” mantra, and digs into the ever-changing world of Instagram algorithms, Facebook marketing, and topical social media takeaways for immediate implementation.
Sarah Parmenter owns You Know Who, a small British design studio now in its second decade. She specializes in iOS User Interface design; regularly contributes to various online and printed media; and speaks at related conferences all over the world. Sarah’s straight-talking nature and no-fuss approach to projects have landed her many great contracts over the years, with various well-known brands in the UK, US, and abroad.
Enjoy all the videos in An Event Apart’s library! There are over 30 hours of them—all absolutely free! For more insightful presentations by the industry’s best and brightest, come to An Event Apart—three days of design, code, and content for web, UX, and interaction designers. And for your free monthly guide to all things web, design, and developer-y, subscribe to The AEA Digest.