Perceivable, Operable, Understandable, Robust in daily development
Treating accessibility as a checklist to tick off fails at every new case that is not exactly on the list. The four WCAG principles Perceivable, Operable, Understandable and Robust provide the reasoning framework behind it, helping developers classify and correctly solve unfamiliar accessibility problems instead of blindly following rules.
Table of Contents
- 1. Why POUR is more than a mnemonic
- 2. How principles, guidelines and success criteria relate
- 3. Perceivable: making content perceivable through every sense
- 4. Operable: usable without a mouse and without time pressure
- 5. Understandable: making content and operation comprehensible
- 6. Robust: ensuring compatibility with assistive technology
- 7. Conformance levels A, AA and AAA explained correctly
- 8. Solving new problems with POUR instead of checklists alone
- 9. The POUR principles in direct comparison
- 10. Summary
- 11. FAQ
1. Why POUR is more than a mnemonic
The WCAG (Web Content Accessibility Guidelines) are built on four foundational principles summarized in the acronym POUR: Perceivable, Operable, Understandable, Robust. These four principles are not decoration sitting above the rulebook, they form the logical structure from which all 13 guidelines and roughly 80 success criteria are derived. Anyone who truly understands POUR can, when facing a new problem that is not documented in any checklist, work out on their own which principle it belongs to and which direction of solution makes sense.
The practical difference shows up in daily development work: a developer who only works through a checklist fails at every edge case that is not exactly on the list, for example a new custom slider widget or a dynamically reloading filter bar. A developer who has internalized the four principles instead asks the right questions: can every user group perceive this information? Can it be operated with every input device? Is the behavior predictable and understandable? Does it work reliably with screen readers and other assistive technology? These four questions solve structurally more problems than any single checklist.
2. How principles, guidelines and success criteria relate
The WCAG structure has three layers. At the top sit the four principles as abstract goals. Below them sit 13 guidelines, each breaking one principle down into more concrete sub-goals, for example Guideline 1.1 "Text Alternatives" under the Perceivable principle. At the bottom sit the success criteria, testable, concrete requirements such as 1.1.1 "Non-text Content", which describe exactly when a criterion is met. Every success criterion is assigned to one of three conformance levels: A, AA or AAA.
This hierarchical structure is not an accident, it makes WCAG extensible. New technologies such as interactive maps, voice interfaces or complex web components can be classified under the right principle even when no specific success criterion for them yet exists. This is exactly why POUR is the real reasoning framework: the success criteria of WCAG 2.2 are a snapshot, the principles behind them stay stable and will carry future success criteria added by later WCAG versions such as WCAG 3.0 as well.
<!-- Hierarchy example: image alternative text -->
<!-- Principle: Perceivable -->
<!-- Guideline: 1.1 Text Alternatives -->
<!-- Success Criterion: 1.1.1 Non-text Content (Level A) -->
<!-- WRONG: informative image without any alternative -->
<img src="product-detail-view.jpg">
<!-- RIGHT: meaningful alt text describes the content -->
<img
src="product-detail-view.jpg"
alt="Alpin hiking boot in slate gray, side view with visible tread sole">
<!-- Decorative image with no informational value: empty alt, not a missing attribute -->
<img src="decorative-divider.svg" alt="" role="presentation">
3. Perceivable: making content perceivable through every sense
The Perceivable principle requires that information and interface components be presented through at least one sensory channel the user can actually use. For blind users that means text alternatives for images, for deaf users captions for videos, for low-vision users sufficient color contrast and resizable text. The most common failure in practice: information is conveyed through color alone, for example a required field marked only with a red border and no additional text or symbol signal. Colorblind users simply do not see that marking.
Contrast requirements are a central, measurable part of this principle. WCAG 2.2 requires a contrast ratio of at least 4.5:1 against the background for normal text (Level AA), and at least 3:1 for large text. These values can be checked automatically with tools like the Chrome DevTools contrast calculator or axe DevTools. Another often overlooked aspect: text should not be embedded in images when it could be rendered as real text instead, because image text is not as accessible under user zoom or screen readers as genuine DOM text.
/* Perceivable: never use color as the only distinguishing signal */
/* WRONG: required field marked only by a red border */
.form-field.required {
border-color: #dc2626;
}
/* RIGHT: additional text symbol that does not rely on color */
.form-field.required {
border-color: #dc2626;
}
.form-field.required .label::after {
content: " *";
color: #dc2626;
}
/* Contrast ratio for body text: at least 4.5:1 against the background */
.body-text {
color: #1f2937; /* dark gray instead of light gray for AA contrast */
background-color: #ffffff;
}
4. Operable: usable without a mouse and without time pressure
The Operable principle requires that every function of the interface be reachable and triggerable via keyboard, without assuming a mouse, a touchscreen, or a particular reaction time. In practice this means every interactive element must be focusable via the Tab key, focus must remain visible, and the tab order must match the visual order on the page. A classic violation is a dropdown menu built as a div with a click handler that works with the mouse but not with the keyboard, because div elements without a tabindex are not focusable.
Time limits are a second important aspect of Operable: automatically expiring sessions, autoplaying carousels or forms with a timeout must be pausable, extendable or turned off so that users with motor impairments have enough time. Avoiding flashing effects also belongs here, since rapidly flashing content can trigger seizures for users with photosensitive epilepsy. The WCAG threshold is a maximum of three flashes per second. For custom widgets, the ARIA Authoring Practices Guide (APG) is the most reliable reference for correct keyboard interaction patterns.
<!-- Operable: custom dropdown with full keyboard support -->
<!-- WRONG: div with no keyboard access -->
<div class="dropdown-trigger" onclick="toggleMenu()">Open filters</div>
<!-- RIGHT: button is focusable by definition and triggerable via Enter/Space -->
<div class="relative" x-data="{ open: false }">
<button
type="button"
class="dropdown-trigger"
:aria-expanded="open"
aria-haspopup="listbox"
@click="open = !open"
@keydown.escape="open = false">
Open filters
</button>
<ul
x-show="open"
x-trap.noscroll="open"
role="listbox"
class="absolute mt-2 bg-white shadow-lg rounded-lg">
<li role="option" tabindex="0" @keydown.enter="selectOption()">Size: 42</li>
<li role="option" tabindex="0" @keydown.enter="selectOption()">Color: Black</li>
</ul>
</div>
5. Understandable: making content and operation comprehensible
The Understandable principle requires that both the content and the operation of the interface be predictable and comprehensible. This covers the language of the text, the consistency of navigation across multiple pages, and clear behavior of interactive components. A common violation: a form field triggers an automatic navigation to another page as soon as it is filled in, without the user expecting or actively confirming it. Unexpected context changes like this are especially disorienting for screen reader users, because the change is not announced.
Error handling in forms is another core building block of Understandable. Error messages must state specifically which field is affected and what needs to be corrected, instead of showing a generic "an error occurred". The lang attribute on the html element and on passages in a different language ensures that screen readers use the correct pronunciation. Consistent labels for recurring actions, for example always "cart" instead of alternating between "cart" and "shopping bag", reduce cognitive load especially for users with learning difficulties or cognitive impairments.
<!-- Understandable: clear, specific error messages instead of generic statements -->
<!-- WRONG: generic error message with no reference to the affected field -->
<div class="form-error">An error occurred.</div>
<!-- RIGHT: error message is associated with the field and names the problem -->
<label for="customer-email">Email address</label>
<input
type="email"
id="customer-email"
name="email"
aria-invalid="true"
aria-describedby="email-error">
<p id="email-error" class="form-error" role="alert">
Please enter a valid email address in the format name@example.com.
</p>
<!-- html lang ensures correct screen reader pronunciation -->
<html lang="en">
<span lang="de">Ausverkauft</span>
</html>
6. Robust: ensuring compatibility with assistive technology
The Robust principle requires that content be interpreted reliably by as wide a range of user agents as possible, including current and future assistive technology such as screen readers, braille displays and voice control software. Technically this mostly means valid, semantically correct HTML plus correctly applied ARIA. A common violation of Robust: duplicate IDs in the DOM, which cause aria-describedby or aria-labelledby to point at the wrong element, because the browser only honors the first occurrence when IDs are duplicated.
The first rule of the ARIA Authoring Practices is "No ARIA is better than Bad ARIA": a native <button> element brings keyboard operability, focus handling and the correct role automatically, while a <div role="button"> requires all of that to be rebuilt manually and easily ends up incomplete. ARIA attributes like aria-live for dynamic content changes, aria-expanded for accordions or role="alert" for error messages should only be used where native HTML offers no equivalent semantics. Automated tests with axe-core or Pa11y in the CI pipeline catch many Robust violations, such as duplicate IDs or invalid ARIA attribute values, before deployment.
// Robust: announce a dynamic status change to screen readers
// aria-live ensures screen readers automatically read out changes
function updateCartCount(newCount) {
const cartBadge = document.getElementById('cart-count');
cartBadge.textContent = newCount;
// Live region outside the visible area, but accessible to AT
const liveRegion = document.getElementById('cart-status-live');
liveRegion.textContent = `Cart updated: ${newCount} items`;
}
// Matching markup:
// <div id="cart-status-live" aria-live="polite" class="sr-only"></div>
// Before every deployment: automated Robust check in CI
// npx axe http://localhost:3000 --exit
7. Conformance levels A, AA and AAA explained correctly
Every WCAG success criterion belongs to exactly one of three conformance levels. Level A covers the most fundamental barriers, whose absence completely blocks access for certain user groups, for example missing alt text on images. Level AA is the practically relevant target standard, also required by most legal mandates such as the European Accessibility Act (EAA) and EN 301 549. Level AAA covers the most demanding criteria and is not recommended by WCAG itself as a general target for entire websites, because some AAA criteria require content trade-offs that are not reasonably achievable for every content type.
For Magento and Hyva stores serving the EU market, AA conformance has been the relevant legal target for B2C offerings since the European Accessibility Act came into force in June 2025. An important practical point: conformance is not a property of a single page, it must hold for a complete process, for example the entire checkout flow from product page to order confirmation. A single inaccessible step in that chain, for example an inaccessible payment method selector, breaks the conformance of the whole process even if every other step is flawless.
8. Solving new problems with POUR instead of checklists alone
The real value of POUR shows up when a problem arises that no known checklist covers. Example: a new product configurator widget with drag-and-drop interaction for color selection. No WCAG checklist describes exactly "drag-and-drop color selection", but the four principles immediately supply the right questions. Perceivable: is the currently selected color also recognizable through text or a pattern, not just through visual position within the drag area? Operable: is there a keyboard-operable alternative to dragging, such as arrow keys or a native <select> as a fallback?
Understandable: is it immediately clear which color is currently active, without the user having to guess? Robust: does the component work with screen readers, which often do not natively support drag-and-drop events, for example through aria-grabbed alternatives or an ARIA live region that announces changes? These four questions reliably lead to a robust solution, usually a combined implementation with visual drag-and-drop for mouse users alongside a parallel, semantically correct <select> or radio button set for keyboard and screen reader users. This thought process works for any new component, regardless of whether WCAG explicitly addresses it.
9. The POUR principles in direct comparison
The following overview maps each of the four principles to typical violations and the corresponding solution. It serves as a quick reference for daily development work and as a basis for code reviews.
| Principle | Typical violation | Recommended solution | Affected user group |
|---|---|---|---|
| Perceivable | Image without alt text | Meaningful alt attribute | Blind, low-vision users |
| Operable | div as a button, no keyboard access | Use a native button element | Users with motor impairments |
| Understandable | Generic error message | Field-specific, concrete message | Users with cognitive impairments |
| Robust | Duplicate IDs in the DOM | Unique IDs, valid ARIA | Screen reader users |
| Perceivable | Contrast below 4.5:1 | Check contrast with tooling | Low-vision, older users |
In practice, the principles frequently overlap: a missing alt attribute is primarily a Perceivable problem, but depending on context it can also violate Understandable, if the meaning of a chart is lost as a result. These overlaps are not a contradiction, they show that POUR is a connected system rather than four isolated rulebooks.
Mironsoft
Accessibility, WCAG audits and accessibility implementation for Magento and Hyva stores
Ready to build accessibility in from the start?
We audit your Magento or Hyva store against WCAG 2.2 Level AA, map findings to the four POUR principles, and implement concrete fixes, from semantic HTML to keyboard-operable Alpine.js components.
WCAG audit
Automated and manual review against Level AA, prioritized by user impact
Remediation
Retrofit semantic HTML, ARIA and keyboard support into Hyva templates
Legal guidance
Translate legal requirements into a concrete, actionable implementation plan
10. Summary
The four WCAG principles Perceivable, Operable, Understandable and Robust are the stable reasoning framework behind every guideline and success criterion. Perceivable ensures information is perceivable through at least one usable sensory channel, for example through alt text and sufficient contrast. Operable requires full keyboard operability without time pressure. Understandable demands predictable behavior and concrete error messages. Robust secures compatibility with current and future assistive technology through valid HTML and correct ARIA.
The biggest benefit of POUR is that the four principles keep holding up even for problems no checklist explicitly covers. A developer who asks the four POUR questions for every new feature, instead of mechanically ticking off success criteria, builds accessibility structurally into the development process rather than bolting it on at the end. For Magento and Hyva stores serving the EU market, this stopped being optional the moment the European Accessibility Act became enforceable, it is now legally relevant day-to-day work for the entire checkout process.
WCAG Fundamentals: The Four POUR Principles at a Glance
Perceivable
Make information perceivable through at least one usable sensory channel: alt text, contrast, captions.
Operable
Full keyboard operability without time pressure, visible focus, no flashing effects above the threshold.
Understandable
Predictable behavior, concrete error messages, consistent labels across the entire page.
Robust
Valid HTML, correct ARIA, unique IDs for reliable compatibility with assistive technology.