You may see range while reading an accessibility specification. It is an abstract ARIA role: a category used to organize the role system, not a label that should be added to your website.
What this role means
An abstract category for controls or values with limits.
Abstract roles explain relationships between real roles. A browser cannot turn role="range" into a useful accessible control, so the specification tells authors not to use it directly.
Use a real HTML element instead
<label for="brightness">Brightness</label>
<input id="brightness" type="range" min="0" max="100">
Read the example
The snippet deliberately shows an actual HTML element or more specific widget, not the abstract role. That is the important lesson: choose markup that has a real purpose and behavior.
Do not write role="range"; choose slider, progressbar, or meter as appropriate.
When to use it
When you find range in a role hierarchy, ask which concrete role describes your interface. For example, an ordinary action is normally a <button>, and a page navigation area is a <nav>.
In an accessibility inspector, compare the accessible role and name with the visible content. The important goal is that both keyboard users and screen-reader users can understand the page.
Try it yourself
Put the example on a practice page and inspect it using your browser accessibility panel. If it includes interactive controls, reach them with Tab and check whether they work without a mouse. Explain whether the semantics come from native HTML or an explicit ARIA role.
Common Beginner Mistakes
- Copying
role="range"from a specification into a production webpage. - Do not write role="range"; choose slider, progressbar, or meter as appropriate.
- Confusing the role announced by a screen reader with the behavior that the browser implements.
Key Takeaways
rangeis related to an abstract category for controls or values with limits.- Do not write role="range"; choose slider, progressbar, or meter as appropriate.
- Native HTML is the first choice; ARIA should clarify meaning, not replace working HTML.