summaryrefslogtreecommitdiff
path: root/tests/admin_views/test_nav_sidebar.py
diff options
context:
space:
mode:
authorTom Carrick <tom@carrick.eu>2020-05-16 14:16:56 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-28 10:16:20 +0200
commit780473d75625d014cbe9b0acdea40b7a5970d5d8 (patch)
tree462e8288ab93bc6451dcdf8bb6b9a69ad6967bef /tests/admin_views/test_nav_sidebar.py
parent42de52affe20e399554d984cc7848bf8e0368b41 (diff)
Refs #31034 -- Improved accessibility of admin navigation sidebar.
Diffstat (limited to 'tests/admin_views/test_nav_sidebar.py')
-rw-r--r--tests/admin_views/test_nav_sidebar.py12
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',