# The <blink> element must not be used.

> Canonical HTML version: https://rocketvalidator.com/accessibility-validation/accesslint/0.16/enough-time/blink
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `<blink>` element causes text to flash on and off repeatedly. It is a deprecated HTML element that no modern browser supports, but it still appears in legacy codebases and should be removed wherever it exists. Assistive technologies may attempt to interpret it, and any browser or rendering engine that does support it will produce content that users cannot pause, stop, or hide.

Blinking text is a problem for several groups of users. People with photosensitive epilepsy can experience seizures when exposed to flashing content. Users with cognitive disabilities or attention disorders find blinking text distracting, making it harder to read and understand the surrounding content. Screen reader users may also encounter unexpected behavior, since the element's semantics are undefined in modern HTML specifications.

This rule maps to WCAG 2.2.2 (Pause, Stop, Hide) at Level A. That success criterion requires that any moving, blinking, or scrolling content that starts automatically can be paused, stopped, or hidden by the user. The `<blink>` element provides no such mechanism. Because WCAG Level A is the minimum conformance level, using `<blink>` is a baseline accessibility failure.

## How to fix it

Remove every instance of the `<blink>` element from your HTML. Replace it with a standard element like `<span>` or `<em>`, and use CSS or visual design techniques to draw attention to the content instead. Good alternatives include:

- A distinct text color or background color with sufficient contrast
- A visible border or outline around the text
- An icon placed next to the text
- The `<mark>` element for highlighted text

If you absolutely need an animation effect, use CSS animations that respect the `prefers-reduced-motion` media query and that users can pause or disable. Even then, avoid rapid flashing. WCAG 2.3.1 (Three Flashes or Below Threshold) prohibits content that flashes more than three times per second.

## Examples

### Incorrect: using the `<blink>` element

```html
<p><blink>Warning: your session will expire in 5 minutes.</blink></p>
```

The text blinks continuously with no way for the user to stop it.

### Fixed: using a styled `<span>` instead

```html
<p><span class="warning">Warning: your session will expire in 5 minutes.</span></p>
```

```css
.warning {
  color: #d32f2f;
  border: 2px solid #d32f2f;
  padding: 2px 6px;
  border-radius: 4px;
}
```

The warning text is visually distinct without any blinking. Color alone is not used as the only indicator; the border provides an additional visual cue.

### Fixed: using the `<mark>` element for highlighted text

```html
<p><mark>Warning: your session will expire in 5 minutes.</mark></p>
```

The `<mark>` element applies a default highlight (typically a yellow background) and has defined semantics, so screen readers can convey that the text is marked or highlighted.
