#36437: Improve accessibility of messages in admin.
----------------------------------+--------------------------------------
     Reporter:  Sarah Boyce       |                    Owner:  (none)
         Type:  Bug               |                   Status:  new
    Component:  contrib.messages  |                  Version:  5.2
     Severity:  Normal            |               Resolution:
     Keywords:  accessibility     |             Triage Stage:  Unreviewed
    Has patch:  0                 |      Needs documentation:  0
  Needs tests:  0                 |  Patch needs improvement:  0
Easy pickings:  0                 |                    UI/UX:  0
----------------------------------+--------------------------------------
Comment (by Sarah Boyce):

 Note that the following screenshot test can be used to generate
 screenshots for testing

 {{{#!diff
 --- a/tests/admin_views/tests.py
 +++ b/tests/admin_views/tests.py
 @@ -135,6 +135,7 @@ from .models import (
      UnchangeableObject,
      UndeletableObject,
      UnorderedObject,
 +    UserMessenger,
      UserProxy,
      Villain,
      Vodcast,
 @@ -6873,6 +6874,32 @@ class SeleniumTests(AdminSeleniumTestCase):
          name_input_value = name_input.get_attribute("value")
          self.assertEqual(name_input_value, "Test section 1")

 +    @screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark",
 "high_contrast"])
 +    @override_settings(MESSAGE_LEVEL=10)
 +    def test_messages(self):
 +        from selenium.webdriver.common.by import By
 +        from selenium.webdriver.support.ui import Select
 +
 +        self.admin_login(
 +            username="super", password="secret",
 login_url=reverse("admin:index")
 +        )
 +        UserMessenger.objects.create()
 +        for level in ["warning", "info", "error", "success", "debug"]:
 +            self.selenium.get(
 +                self.live_server_url +
 reverse("admin:admin_views_usermessenger_changelist"),
 +            )
 +            checkbox = self.selenium.find_element(
 +                By.CSS_SELECTOR, "tr input.action-select"
 +            )
 +            checkbox.click()
 +            Select(self.selenium.find_element(By.NAME,
 "action")).select_by_value(
 +                f"message_{level}"
 +            )
 +            self.selenium.find_element(By.XPATH,
 '//button[text()="Run"]').click()
 +            message = self.selenium.find_element(By.CSS_SELECTOR,
 "ul.messagelist li")
 +            self.assertEqual(message.get_attribute("innerText"), f"Test
 {level}")
 +            self.take_screenshot(level)
 +
 }}}
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36437#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/010701973b17ffc3-02f03549-9e71-43c5-b229-bb7ab9935de2-000000%40eu-central-1.amazonses.com.

Reply via email to