Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Accessibility testing in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test checks if a web page's main button is accessible by keyboard and has the correct ARIA label. It verifies that users who rely on keyboard navigation and screen readers can use the button properly.

Test Code - Selenium
Testing Fundamentals
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import unittest

class AccessibilityTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('https://example.com')

    def test_button_accessibility(self):
        driver = self.driver
        wait = WebDriverWait(driver, 10)

        # Wait for the button to be present
        button = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, 'button#submit-btn')))

        # Check ARIA label
        aria_label = button.get_attribute('aria-label')
        self.assertEqual(aria_label, 'Submit form', 'ARIA label is incorrect')

        # Check keyboard focus by sending TAB keys
        body = driver.find_element(By.TAG_NAME, 'body')
        body.send_keys(Keys.TAB)  # Focus first element
        focused = driver.switch_to.active_element
        self.assertEqual(focused, button, 'Button is not focusable by keyboard')

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test starts and Chrome browser opensBrowser window is open and ready—PASS
2Navigates to https://example.comPage loads with a button having id 'submit-btn'—PASS
3Waits for button with CSS selector 'button#submit-btn' to be presentButton is present in the DOMButton presence confirmedPASS
4Retrieves 'aria-label' attribute of the buttonButton has aria-label='Submit form'aria-label equals 'Submit form'PASS
5Sends TAB key to body to focus first focusable elementKeyboard focus moves to the buttonFocused element is the button with id 'submit-btn'PASS
6Test ends and browser closesBrowser window closed—PASS
Failure Scenario
Failing Condition: Button with id 'submit-btn' is missing or does not have correct aria-label or is not keyboard focusable
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify about the button's ARIA label?
AIt checks that the aria-label is 'Submit form'
BIt checks that the aria-label is missing
CIt checks that the aria-label is 'Click me'
DIt does not check the aria-label
Key Result
Always verify accessibility attributes like ARIA labels and keyboard focus to ensure your web elements are usable by everyone, including people using screen readers or keyboard navigation.

Practice

(1/5)
1. What is the main goal of accessibility testing on a website?
easy
A. To improve the website's loading speed
B. To add more images and videos
C. To ensure the website is usable by people with disabilities
D. To increase the number of advertisements

Solution

  1. Step 1: Understand the purpose of accessibility testing

    Accessibility testing focuses on making websites usable for everyone, including people with disabilities.
  2. Step 2: Compare options to the goal

    Only To ensure the website is usable by people with disabilities matches this goal, while others focus on unrelated aspects like speed or content.
  3. Final Answer:

    To ensure the website is usable by people with disabilities -> Option C
  4. Quick Check:

    Accessibility testing = usability for all [OK]
Hint: Focus on users with disabilities for accessibility testing [OK]
Common Mistakes:
  • Confusing accessibility with performance optimization
  • Thinking accessibility means adding more content
  • Ignoring users with disabilities
2. Which HTML attribute is important for accessibility to describe images?
easy
A. alt
B. title
C. src
D. href

Solution

  1. Step 1: Identify attribute for image description

    The alt attribute provides text descriptions for images, helping screen readers.
  2. Step 2: Check other attributes

    title shows tooltips, src is image source, href is for links, none describe images for accessibility.
  3. Final Answer:

    alt -> Option A
  4. Quick Check:

    Image description attribute = alt [OK]
Hint: Use alt for image descriptions to help screen readers [OK]
Common Mistakes:
  • Using title instead of alt for image description
  • Confusing src with description
  • Missing alt attribute entirely
3. Consider this HTML snippet:
<button>Click me</button>

Which accessibility improvement is best?
medium
A. Remove the button element
B. Add aria-label="Submit button" to the button
C. Change button text to "" (empty string)
D. Add style="color: white;" only

Solution

  1. Step 1: Understand button accessibility

    Buttons need clear labels for screen readers; adding aria-label clarifies purpose.
  2. Step 2: Evaluate other options

    Empty text or removing button removes meaning; styling alone doesn't improve accessibility.
  3. Final Answer:

    Add aria-label="Submit button" to the button -> Option B
  4. Quick Check:

    Use aria-label for clear button description [OK]
Hint: Use aria-label to describe buttons clearly [OK]
Common Mistakes:
  • Leaving buttons unlabeled
  • Removing interactive elements
  • Relying only on visual styles
4. You test a form and find keyboard users cannot reach the submit button. What is the likely cause?
medium
A. The button has tabindex="-1"
B. The button has a visible label
C. The button uses type="submit"
D. The button has a high contrast color

Solution

  1. Step 1: Understand tabindex effect on keyboard navigation

    A tabindex="-1" removes the element from keyboard focus order, so users can't tab to it.
  2. Step 2: Check other options

    Visible label, submit type, and color contrast do not block keyboard focus.
  3. Final Answer:

    The button has tabindex="-1" -> Option A
  4. Quick Check:

    tabindex="-1" blocks keyboard focus [OK]
Hint: Check tabindex for keyboard focus issues [OK]
Common Mistakes:
  • Confusing label visibility with focusability
  • Ignoring tabindex attribute effects
  • Assuming color affects keyboard navigation
5. You want to test if a website's color choices meet accessibility standards for contrast. Which approach is best?
hard
A. Use random colors to test visually
B. Only rely on automated tools without manual checks
C. Ignore color contrast if text is large
D. Use an automated color contrast checker and manually verify with users

Solution

  1. Step 1: Understand color contrast testing methods

    Automated tools quickly check contrast ratios, but manual testing ensures real user experience.
  2. Step 2: Evaluate other options

    Relying only on tools misses context; ignoring contrast or random colors do not ensure accessibility.
  3. Final Answer:

    Use an automated color contrast checker and manually verify with users -> Option D
  4. Quick Check:

    Combine automated and manual checks for best results [OK]
Hint: Combine tools and manual checks for color contrast [OK]
Common Mistakes:
  • Trusting only automated tools
  • Ignoring contrast for large text
  • Testing colors without standards
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard