WCAG 3.3.2 Labels or Instructions — Testing Guide for Mobile & Web Apps

WCAG 2.1 Level A criterion 3.3.2, "Labels or Instructions," mandates that forms and interactive controls provide clear, understandable labels or instructions. This ensures users can accurately input i

May 03, 2026 · 5 min read · WCAG Guides

Ensuring Clarity: A Practical Guide to WCAG 3.3.2 Labels or Instructions

WCAG 2.1 Level A criterion 3.3.2, "Labels or Instructions," mandates that forms and interactive controls provide clear, understandable labels or instructions. This ensures users can accurately input information and understand what is expected of them.

What WCAG 3.3.2 Requires

At its core, this criterion demands that any input field or interactive element that requires user input or action must have a corresponding label or instruction. This label or instruction should clearly identify the purpose of the input field or the action required. It needs to be visible and associated with the element it describes.

Why WCAG 3.3.2 Matters

This criterion directly impacts users who rely on clear guidance for interaction. This includes:

For instance, a missing label on a form field for "Date of Birth" can lead to incorrect data entry, potentially causing account creation failures or incorrect profile information. In web applications, unclear instructions for a multi-step checkout process can cause users to abandon their carts. This directly affects conversion rates and user satisfaction. Compliance with this criterion is also a legal requirement in many jurisdictions, including under the EU's European Accessibility Act (EAA) and the Americans with Disabilities Act (ADA) in the United States.

Common Violations with Examples

Violations of WCAG 3.3.2 often stem from a lack of explicit labeling or the use of ambiguous instructions.

#### Mobile App Examples

  1. Missing Input Labels:
  1. Ambiguous Button Labels:

#### Web App Examples

  1. Implicit Instructions for Complex Forms:
  1. Context-Dependent Actions Without Clear Labels:

How to Test for Compliance

Ensuring compliance with WCAG 3.3.2 requires a multi-faceted approach.

#### Manual Testing Steps

  1. Review all form fields and interactive elements: For every input field (text, dropdown, radio buttons, checkboxes, etc.) and actionable element (buttons, links that perform actions), verify that there is a clear, descriptive label or instruction.
  2. Check for placeholder text as the sole label: Ensure that placeholder text is only used as a hint and not as the primary label. If placeholder text is cleared, the field's purpose must still be obvious.
  3. Test with screen readers: Use a screen reader (e.g., NVDA, JAWS, VoiceOver) to navigate through forms and interactive elements. Confirm that labels are announced correctly and comprehensibly when the element receives focus.
  4. Evaluate instruction clarity: For complex inputs or actions, assess whether the provided instructions are easy to understand for a diverse audience. Avoid jargon and assume minimal prior knowledge.
  5. Focus on dynamic content: Test forms or interactive elements that appear or change based on user input. Ensure that new labels or instructions are provided when needed.

#### Automated Tools

While manual testing is crucial, automated tools can efficiently scan for common violations.

#### Mobile-Specific Considerations (Android/iOS)

How to Fix Violations

The primary fix is to associate a clear, descriptive label with each form control.

#### Code Examples

HTML (Web):


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

    <input type="password" aria-label="Password (at least 8 characters)">

Android (Kotlin):


    <LinearLayout>
        <TextView
            android:id="@+id/label_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Username" />

        <EditText
            android:id="@+id/edit_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:labelFor="@id/label_username" />
    </LinearLayout>

    <ImageButton
        android:id="@+id/button_save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_save"
        android:contentDescription="Save current item" />

iOS (Swift):


    usernameTextField.accessibilityLabel = "Username"

    passwordTextField.accessibilityLabel = "Password"
    passwordTextField.accessibilityHint = "Must be at least 8 characters long and include a number."

How SUSA Checks This Criterion

SUSA leverages its autonomous exploration capabilities and specialized user personas to meticulously check for WCAG 3.3.2 compliance.

  1. Autonomous Exploration: Upon uploading an APK or web URL, SUSA navigates through the application, interacting with all visible form fields and interactive elements. It systematically attempts to identify and engage with every input mechanism.
  2. Persona-Based Testing: SUSA employs its suite of 10 user personas, including novice, elderly, and accessibility personas. These personas simulate users with varying levels of technical proficiency and cognitive abilities, specifically looking for clarity and ease of understanding in labels and instructions.
  3. Identification of Missing/Ambiguous Labels: During exploration, SUSA analyzes the UI for elements that require input or action. It checks for:
  1. Accessibility Violation Detection: SUSA's built-in WCAG 2.1 AA testing engine specifically flags instances where labels or instructions are missing or insufficient, directly identifying violations of criterion 3.3.2.
  2. Cross-Session Learning: With each subsequent run, SUSA learns more about the application's structure and common interaction patterns, improving its ability to detect subtle labeling issues and ensuring consistent compliance checks over time.
  3. Auto-Generated Regression Scripts: Crucially, SUSA not only finds these issues but also auto-generates Appium (for Android) and Playwright (for Web) regression test scripts. This means that once a fix is implemented, SUSA can automatically verify that the violation of WCAG 3.3.2 remains resolved in future builds, preventing regressions.

By integrating SUSA into your QA process, you can ensure that your applications provide clear, understandable labels and instructions, making them accessible and user-friendly for everyone.

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free