<blink> elements must not be used
Content available in English only.
Accessibility isn’t just about avoiding violations — it’s about ensuring that everyone can use your product with confidence. This guide explains each rule’s intent, highlights common issues, and shows how to fix them according to WCAG and the European Accessibility Act (EAA).
These guidelines do not replace the official WCAG standards. They’re concise, developer-focused notes to help you identify and fix issues effectively.
<blink> is deprecated and inaccessible—never use it.
Why this matters and how to fix it
Why this matters
Blinking text can distract or harm users with attention, vestibular, or cognitive disabilities. The <blink> element cannot be paused, stopped, or hidden, and is inconsistent across browsers, making content inaccessible or harmful.
How to fix this issue
Remove <blink> (and <marquee>). Use static text or controlled, short animations with pause/stop functionality. For dynamic content that needs to be announced, use ARIA live regions instead of visual blinking.
Developer guidance
Prevent use of deprecated elements with linters or validators. If emphasis is needed, use CSS transitions, color changes, or ARIA live regions. Avoid motion that lasts longer than 5 seconds unless the user can pause or stop it.
Code examples
Incorrect Implementation
<blink>Alert!</blink>Correct Implementation
<p>Alert!</p>Real-World Examples
Before
<blink>New message received!</blink> <!-- Screen reader may not announce, visual may distract -->After
<p aria-live="polite">New message received!</p> <!-- Screen reader announces without visual blinking -->Manual testing
- 1. Inspect the page for <blink> or <marquee> elements.
- 2. Remove any found elements and replace with static text or ARIA live regions.
- 3. Test with a screen reader to confirm dynamic content is announced correctly.
- 4. Verify that no visual motion exceeds 5 seconds without user control.
Trusted by organizations across Europe working toward WCAG and EAA conformance