diff options
| author | Tom Carrick <tom@carrick.eu> | 2020-05-16 14:16:56 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-05-28 11:20:39 +0200 |
| commit | dc3234be48d17def4e951d678c0ec39c5ff94830 (patch) | |
| tree | e193ce3c59dc14785e24f707a8950b5eb581a844 /tests | |
| parent | 15fc360b91f339d926c6f321c8d5c105dba80756 (diff) | |
[3.1.x] Refs #31034 -- Improved accessibility of admin navigation sidebar.
Backport of 780473d75625d014cbe9b0acdea40b7a5970d5d8 from master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_views/test_nav_sidebar.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/admin_views/test_nav_sidebar.py b/tests/admin_views/test_nav_sidebar.py index 9d52c541c0..01cd4cfee7 100644 --- a/tests/admin_views/test_nav_sidebar.py +++ b/tests/admin_views/test_nav_sidebar.py @@ -97,7 +97,14 @@ class SeleniumTests(AdminSeleniumTestCase): def test_sidebar_can_be_closed(self): self.selenium.get(self.live_server_url + reverse('test_with_sidebar:auth_user_changelist')) toggle_button = self.selenium.find_element_by_css_selector('#toggle-nav-sidebar') + self.assertEqual(toggle_button.tag_name, 'button') + self.assertEqual(toggle_button.get_attribute('aria-label'), 'Toggle navigation') + for link in self.selenium.find_elements_by_css_selector('#nav-sidebar a'): + self.assertEqual(link.get_attribute('tabIndex'), '0') toggle_button.click() + # Hidden sidebar is not reachable via keyboard navigation. + for link in self.selenium.find_elements_by_css_selector('#nav-sidebar a'): + self.assertEqual(link.get_attribute('tabIndex'), '-1') main_element = self.selenium.find_element_by_css_selector('#main') self.assertNotIn('shifted', main_element.get_attribute('class').split()) @@ -115,7 +122,12 @@ class SeleniumTests(AdminSeleniumTestCase): self.assertNotIn('shifted', main_element.get_attribute('class').split()) toggle_button = self.selenium.find_element_by_css_selector('#toggle-nav-sidebar') + # Hidden sidebar is not reachable via keyboard navigation. + for link in self.selenium.find_elements_by_css_selector('#nav-sidebar a'): + self.assertEqual(link.get_attribute('tabIndex'), '-1') toggle_button.click() + for link in self.selenium.find_elements_by_css_selector('#nav-sidebar a'): + self.assertEqual(link.get_attribute('tabIndex'), '0') self.assertEqual( self.selenium.execute_script("return localStorage.getItem('django.admin.navSidebarIsOpen')"), 'true', |
