Not every abbreviation needs it. Spell the term out the first time it appears. Use abbr when the expansion has to sit outside the text, and add title only when you cannot expand it inline. Each abbr needs its own title. Widely available since July 2015.
Screen readers: MDN warns that a difference between what is announced and what is displayed can be jarring. It does not say how each screen reader treats title on abbr.
Keeps text of unknown direction, such as a user name that may be Arabic or Hebrew, from scrambling the text around it.
User إيان scored 90 points.
HTML
<p>User <bdi>إيان</bdi> scored 90 points.</p>
LUZ adds no style: it changes no look, only the writing direction, and the browser already isolates it.
Worth using
Use it around text you do not control, such as a user name, so its direction does not scramble the text around it. If a semantic element fits, such as cite, prefer <cite dir="auto">. MDN says not to rely on CSS unicode-bidi: isolate instead: it is not semantic and browsers may ignore it. Widely available since January 2020.
Screen readers: Not tested by LUZ. MDN lists no screen reader issue; a11ysupport.io was not checked.
Pairs visible text with a value for software, held in the value attribute, such as a product name with its code. For dates and times, use time.
LUZ has three layers.
HTML
<p>LUZ has <data value="3">three</data> layers.</p>
LUZ adds no style: it is ordinary text with a value for software, so it should look like the text around it.
Worth using
Use it when the visible text and the value software needs differ, such as a product name and its code. For dates and times use time, which MDN requires. Widely available since October 2017.
Screen readers: Its role is generic, so the value is for software; people hear the visible text. MDN does not say how the value is exposed to assistive technology.
Marks a term at the place where the text explains what it means.
A design token is a named design decision, stored as a variable.
HTML
<p>A <dfn>design token</dfn> is a named design decision, stored as a variable.</p>
Styled by elements/inline.css, with no class.
Worth using
Use it for the term being defined, inside the sentence, the dt and dd pair or the section that holds the definition. For an abbreviation, nest abbr with its title inside it. Widely available since July 2015.
Screen readers: Its implicit role is term. Not tested by LUZ. MDN lists no screen reader issue; a11ysupport.io was not checked.
A key or other input the user should press or type, such as Ctrl + C. LUZ draws it as a key cap.
Press Ctrl + K to open the command palette.
HTML
<p>Press <kbd>Ctrl</kbd> + <kbd>K</kbd> to open the command palette.</p>
Styled by elements/inline.css, with no class.
Worth using
Use it for what the reader types or presses. For a key combination, nest one kbd per key inside an outer one, or leave the outer one out. Widely available since July 2015.
Screen readers: It has no corresponding ARIA role. Not tested by LUZ. MDN lists no screen reader issue; a11ysupport.io was not checked.
Highlights text because it matters right now, such as the words that matched a search. It does not add importance: use strong for that.
Search results for tokens.
HTML
<p>Search results for <mark>tokens</mark>.</p>
Styled by elements/inline.css, with no class.
Worth using
Use it for text that is relevant to what the reader is doing now, such as the words that matched a search. Not for syntax highlighting (use a span) and not for importance (use strong). Widely available since July 2015.
Screen readers: MDN: most screen readers do not announce mark by default. Text added with ::before and ::after can announce it, but only where not knowing about the highlight would harm understanding, because some people turn extra verbosity off.
A short quotation inside a sentence. The browser adds the quotation marks of the page language, so do not type your own.
As they say, less is more.
HTML
<p>As they say, <q>less is more</q>.</p>
LUZ adds no style: the browser already adds the quotation marks of the page language.
Worth using
Use it for a short quotation inside a sentence, and blockquote for a long one. Browsers add the quotation marks, so do not type them. The cite attribute holds the source URL and is not shown. Widely available since July 2015.
Screen readers: Not tested by LUZ. MDN lists no screen reader issue; a11ysupport.io was not checked.
Text a program printed, such as an error message or the output of a terminal command.
The console prints Layer "tokens" is missing.
HTML
<p>The console prints <samp>Layer "tokens" is missing.</samp></p>
Styled by elements/inline.css, with no class.
Worth using
Use it for sample or quoted output of a program. For output that your own script writes into the page, use output instead. Widely available since July 2015.
Screen readers: Its role is generic, so it adds no meaning for assistive technology. Not tested by LUZ. MDN lists no screen reader issue; a11ysupport.io was not checked.
A date, a time or a duration. Put a form software can read in the datetime attribute, and write whatever suits the reader inside.
Released on .
HTML
<p>Released on <time datetime="2026-10-06">6 October 2026</time>.</p>
Styled by elements/inline.css, with no class.
Worth using
Use it for a date, a time or a duration that software can read, such as an event a browser could add to a calendar. Write the machine form in datetime (2026-10-09, 20:00, PT2H30M). Not for dates before the Gregorian calendar. Widely available since October 2017.
Screen readers: MDN gives no note on how screen readers announce datetime. The visible text is what you can count on.