Targeting E-Ink Screens with CSS update slow
The CSS @media (update: slow) media query allows web
developers to detect and optimize websites for devices with low refresh
rates, such as Amazon Kindle readers and electronic paper displays. By
identifying hardware that struggles with frequent rendering cycles,
developers can strip away animations, simplify interactive elements, and
enhance contrast to deliver an optimal reading experience without
performance hiccups or visual artifacts.
Understanding the
CSS update Media Feature
Defined in the CSS Media Queries Level 4 specification, the
update media feature evaluates how frequently an output
device can modify the appearance of rendered content. It accepts three
distinct values:
none: Output that cannot update after rendering, such as printed documents or static PDF exports.slow: Devices capable of dynamically changing content, but at a rate too slow to support smooth motion or continuous video. This category specifically targets e-ink devices, smart electronic shelf labels, and low-power monochrome screens.fast: Standard modern displays, such as LCD, OLED, and AMOLED panels found in smartphones, tablets, and desktop monitors, which refresh at 60Hz, 120Hz, or higher.
Why E-Ink Requires Special Treatment
E-ink displays rely on microcapsules containing charged pigment particles suspended in a clear fluid. To change what is visible on the screen, the device must apply an electric field to reposition these physical particles.
Because this physical movement takes time, e-ink screens have
significantly lower refresh rates than traditional digital panels. Rapid
DOM changes, CSS transitions, and looping keyframe animations result in
intense flickering, distracting full-screen refreshes, and severe image
ghosting. Targeting these displays using update: slow
eliminates these visual flaws.
Practical Optimizations
for update: slow
1. Removing Animations and Transitions
Smooth interface motion is virtually impossible on e-ink hardware. Disabling transitions and animations prevents the browser engine from attempting costly intermediate frame calculations that the physical display cannot render.
@media (update: slow) {
*,
*::before,
*::after {
animation: none !important;
transition: none !important;
}
}2. Maximizing Contrast and Typographic Clarity
Most e-ink screens display content in 16 shades of gray. Subtle
shadows, pastel colors, and low-contrast borders disappear or render
unpredictably. Within the @media (update: slow) block,
styles should prioritize pure blacks, solid whites, and high-contrast
typography.
@media (update: slow) {
body {
background-color: #ffffff;
color: #000000;
}
a {
text-decoration: underline;
color: #000000;
}
.card, .container {
box-shadow: none;
border: 1px solid #000000;
}
}3. Replacing Dynamic Media with Static Content
Autoplaying videos, animated GIFs, or dynamic canvas renderings degrade usability on an e-reader. You can replace dynamic media with clean, static fallbacks.
@media (update: slow) {
.hero-video {
display: none;
}
.hero-poster-image {
display: block;
}
}4. Adjusting Interaction States
Hover effects have no practical utility on e-ink touchscreens or
paginated readers. Removing :hover state dependencies and
reinforcing explicit :focus outlines ensures users
navigating with hardware buttons or slow-responding touch interfaces
always know which element is currently selected.
@media (update: slow) {
button:hover {
background-color: initial;
}
button:focus,
a:focus {
outline: 3px solid #000000;
outline-offset: 2px;
}
}Device Support and Implementation
Modern e-readers with web capabilities—including recent Amazon Kindle
models running Chromium-based experimental browsers—support the
update media query. Because the query gracefully fails on
browsers that do not recognize it, using
@media (update: slow) serves as a zero-risk progressive
enhancement technique. It cleanly decouples standard web layouts from
the specialized rendering constraints of electronic paper.