0
0
Testing Fundamentalstesting~10 mins

Accessibility testing in Testing Fundamentals - Test Execution Trace

Choose your learning style9 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.