0Pricing
Web Accessibility Academy · Lesson

The First Rule: No ARIA Beats Bad ARIA

Why native HTML is almost always the better choice.

The First Rule: No ARIA Beats Bad ARIA is a free Web Accessibility Academy lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Web Accessibility Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What ARIA Actually Is

ARIA is a set of HTML attributes that tells assistive tech what an element is and does, when the markup alone cannot say it.

ARIA Changes No Behavior

Here is the catch: ARIA only changes what is announced. It never adds clicks, focus, or keyboard support on its own.

<div role="button">Save</div>
<!-- looks like a button, does nothing -->

The First Rule of ARIA

The official first rule: if a native HTML element can do the job, use it instead of recreating it with ARIA.

Native Comes Fully Loaded

A real button is focusable, fires on Enter and Space, and announces its role for free. You write none of that yourself.

<button>Save</button>
<!-- focus, keyboard, role: all built in -->

Why Bad ARIA Is Worse

A wrong role actively lies to users. Bad ARIA beats no ARIA only in harm: it can hide content or describe it incorrectly.

The Override Trap

ARIA overrides native semantics. Slap role=presentation on a heading and screen readers stop treating it as a heading at all.

<h2 role="presentation">Pricing</h2>
<!-- no longer a heading to AT -->

Three Things ARIA Provides

ARIA gives you exactly three kinds of information: a role (what it is), states, and properties. That is the whole toolkit.

ARIA Does Not Touch CSS

Setting aria-hidden on an element hides it from screen readers, but it stays fully visible on screen. The two layers are separate.

<span aria-hidden="true">decorative star</span>
<!-- seen, not heard -->

When ARIA Is the Right Call

Reach for ARIA when no native element fits, like a tablist or a custom slider. Then use it precisely and test it.

Pair ARIA With JavaScript

If you must build a custom widget, ARIA plus JavaScript go together. ARIA names it, JS supplies the focus and keyboard logic.

Less Is More

The best accessible page often has very little ARIA. Semantic HTML first, ARIA only to fill the gaps it leaves behind.

Quick Check

You need a clickable Save control. What is the most accessible choice?

Recap: ARIA Wisely

You learned that ARIA describes, never behaves. Prefer native HTML, add ARIA only to fill real gaps, and test it every time. 🎯

Frequently asked questions

Is the “The First Rule: No ARIA Beats Bad ARIA” lesson free?

Yes — the full text of “The First Rule: No ARIA Beats Bad ARIA” is free to read here on the web, and the Web Accessibility Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Web Accessibility Academy course, upgrade to CoddyKit PRO.

What will I learn in “The First Rule: No ARIA Beats Bad ARIA”?

Why native HTML is almost always the better choice. You practise Web Accessibility Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Web Accessibility Academy?

No prior experience is required. Web Accessibility Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “The First Rule: No ARIA Beats Bad ARIA” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Web Accessibility Academy lesson?

Yes. Every Web Accessibility Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. The First Rule: No ARIA Beats Bad ARIA
  2. Roles Define What a Thing Is
  3. States and Properties: expanded, checked, disabled
  4. Reading the Accessibility Tree to Debug ARIA
← Back to Web Accessibility Academy