DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk4 min

What Is an ARIA Label and How to Use It

An aria-label supplies an accessible name when a suitable visible or native label is unavailable. Learn when to use it and how it differs from aria-labelledby.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An aria-label gives an element an accessible name—a short text label assistive technologies can expose when the element needs a name. Use it when a suitable visible or native label is unavailable and the element’s role supports naming. If suitable text is already visible, prefer reusing it with aria-labelledby; for standard form fields, use a native <label>.

What an ARIA label does

An accessible name identifies an element’s purpose, such as “Close dialog” for a button shown only as an ×. The aria-label attribute supplies that name as a string:

As an Amazon Associate I earn from qualifying purchases.

<button type="button" aria-label="Close dialog">×</button>

Assistive technologies can expose the resulting name through accessibility APIs. The name should tell users what the element does, not merely describe its appearance. See the WAI-ARIA 1.2 specification.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When to use aria-label

Use aria-label to fill a genuine naming gap: for example, an icon-only button without another suitable label. It can also be appropriate for certain custom controls that cannot use a native label association, as long as the element’s role permits an accessible name. W3C’s ARIA14 technique describes using aria-label to provide a name when a visible label cannot be used.

#1 Best Overall
  • Choose a concise, specific name that communicates the control’s purpose.
  • Do not add a naming attribute to roles for which naming is prohibited.
  • Do not use a name as a substitute for a longer explanation. Associate additional instructions or context with aria-describedby.

Choose between a native label, aria-labelledby, and aria-label

Method Use it when Example
Native <label> You are naming a standard form control and can associate visible label text with it. <label for="email">Email address</label>
aria-labelledby Suitable text already exists in the DOM and should provide the accessible name. aria-labelledby="search-label"
aria-label No suitable visible label is available or usable, and the element’s role supports naming. aria-label="Close dialog"

For standard form controls, use a native label where it fits:

<label for="email">Email address</label>
<input id="email" name="email" type="email">

If a visible label already exists for a custom control, reference that text rather than maintaining a second string:

<span id="search-label">Search</span>
<button type="button" aria-labelledby="search-label">⌕</button>

WAI-ARIA 1.2 says: “If the label text is available in the DOM (Document Object Model) (i.e. typically visible text content), authors SHOULD use aria-labelledby and SHOULD NOT use aria-label.” The WAI-ARIA Authoring Practices Guide on names and descriptions explains the practical preference: visible text is easier to maintain, less likely to diverge from what sighted users see, and avoids duplicated wording and translation work.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to write an effective accessible name

  • Name the action or purpose: “Search” is more useful than “Magnifying glass” for a search button.
  • Keep it concise: use the name to identify the control, not to deliver a paragraph of instructions.
  • Keep it aligned with visible wording: when visible text exists, reuse it where possible so users do not encounter conflicting names.
  • Use a description for extra detail: link longer guidance to the control with aria-describedby.

How to check the result

After implementing a name, check the element’s computed accessible name in your accessibility inspection workflow. Confirm that it identifies the intended purpose and does not replace useful visible wording. These examples illustrate W3C guidance; they do not claim particular browser or assistive-technology test results.

Common mistakes and fixes

  • Adding aria-label to a control that already has a good visible name: use the visible text or reference it with aria-labelledby instead.
  • Using aria-label on a standard field instead of a native label: associate a visible <label> with the field when that is suitable.
  • Writing a name that describes an icon rather than the action: replace “X icon” with a purpose such as “Close dialog.”
  • Putting a long explanation in the name: keep the name short and use aria-describedby for additional context.
  • Assuming aria-label only adds information: it can override a native form label, image alt text, or a link’s own text. Check the computed name so it remains accurate and does not obscure useful content. See W3C’s guidance on ARIA8 and ARIA6.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a clean screenshot of the page after checking its accessible labels, you can request one with ScreenshotNeo. The API returns a screenshot or PDF from a GET request; see the API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Cookie banners, popups, and chat widgets are removed before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed. An MCP server provides screenshot tools for AI agents. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up free for 1,000 screenshots a month, with no card.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.