Practice
1. What is the main purpose of accessibility testing in Angular applications?
easy
Solution
Step 1: Understand accessibility testing goal
Accessibility testing focuses on making apps usable by everyone, including people with disabilities.Step 2: Compare options with this goal
Only To ensure the app works well for users with disabilities matches this purpose; others relate to performance or design, not accessibility.Final Answer:
To ensure the app works well for users with disabilities -> Option AQuick Check:
Accessibility testing = help all users [OK]
Hint: Accessibility testing = usability for all users, especially disabled [OK]
Common Mistakes:
- Confusing accessibility with performance optimization
- Thinking accessibility is only about visual design
- Ignoring users with disabilities
2. Which ARIA attribute is correctly used in this Angular template snippet?
<button aria-label="Close menu">X</button>
easy
Solution
Step 1: Identify correct ARIA attribute for labeling
The attribute aria-label provides an accessible name for elements like buttons.Step 2: Check each option's meaning
aria-hidden hides content, aria-checked is for checkboxes, aria-live is for dynamic updates. Only aria-label fits the usage.Final Answer:
aria-label="Close menu" -> Option BQuick Check:
aria-label names elements for screen readers [OK]
Hint: Use aria-label to name buttons for screen readers [OK]
Common Mistakes:
- Using aria-hidden to label elements
- Confusing aria-checked with aria-label
- Applying aria-live incorrectly on static buttons
3. What will be the effect of this Angular template code on screen readers?
<input type="text" aria-describedby="emailHelp" /> <small id="emailHelp">Enter your email address</small>
medium
Solution
Step 1: Understand aria-describedby usage
aria-describedby links an element to descriptive text read by screen readers.Step 2: Analyze the code behavior
The input references the small element with id 'emailHelp', so screen readers read that description on focus.Final Answer:
Screen readers will read 'Enter your email address' when focusing the input -> Option DQuick Check:
aria-describedby adds extra description [OK]
Hint: aria-describedby links input to extra text for screen readers [OK]
Common Mistakes:
- Thinking aria-describedby hides the input
- Assuming aria-describedby duplicates label reading
- Confusing aria-describedby with aria-label
4. Identify the accessibility issue in this Angular template:
<div role="button" tabindex="-1">Click me</div>
medium
Solution
Step 1: Understand tabindex="-1" effect
tabindex="-1" removes the element from keyboard focus order, so users can't tab to it.Step 2: Check role and accessibility impact
role="button" makes the div behave like a button, but without keyboard focus, it's inaccessible.Final Answer:
tabindex="-1" prevents keyboard focus on the button role element -> Option AQuick Check:
tabindex="-1" removes keyboard focus [OK]
Hint: tabindex="-1" removes element from keyboard tab order [OK]
Common Mistakes:
- Thinking role="button" alone fixes accessibility
- Ignoring keyboard focus importance
- Assuming aria-label is always required
5. You want to improve accessibility for a custom Angular dropdown component. Which combination is best practice?
hard
Solution
Step 1: Identify accessibility needs for custom dropdown
Custom dropdowns need ARIA roles to inform assistive tech and keyboard support for navigation.Step 2: Evaluate options for best practice
Use ARIA roles likerole="listbox", keyboard navigation, and test with screen readers includes ARIA roles, keyboard navigation, and testing, which covers accessibility well. Others ignore key accessibility aspects or harm usability.Final Answer:
Use ARIA roles like role="listbox", keyboard navigation, and test with screen readers -> Option CQuick Check:
ARIA + keyboard + testing = accessible dropdown [OK]
Hint: Combine ARIA roles and keyboard support for custom components [OK]
Common Mistakes:
- Relying only on visual styles
- Hiding interactive elements with aria-hidden
- Disabling keyboard navigation
