Uploaded image for project: 'Shibboleth User Interface'
  1. Shibboleth User Interface
  2. SHIBUI-256

A11y aXe Fix Required: Dashboard (and other pages) Color Contrast

    XMLWordPrintable

Details

    • Story
    • Resolution: Done
    • Minor
    • None
    • None
    • None
    • ShibUI - MVP2 - Sprint 2, SHIB UI - Sprint 3

    Description

       Closed a prior ticket (SHIBUI-12) as this ticket contains more detail.

      Tested in QA-11 Build (1.0.1-SNAPSHOT-01ad718)

      Description
      aXe A11y testing tool revealed "Elements must have sufficient color contrast"
       
      Steps

      1. Log into UI
      2. Click to 'Add new provider
      3. Use aXe Tool on all pages in create and edit flow

      aXe Error
      Reference page: (https://dequeuniversity.com/rules/axe/2.6/color-contrast?application=AxeChrome

      Issue description: Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds
          Impact: serious

      Example Page: Add a new metadata provider (similar sections on other pages need fixing as well)

      Element location Element Source Related node
      div > span.display-6 <span _ngcontent-c5="" class="display-6"> section > div:nth-child(1)
      .display-6 > span.pull-right <span _ngcontent-c5="" class="pull-right"> (<!---->Step 2 of 10) </span> section > div:nth-child(1)
      button > span.label.pull-left <span class="label pull-left"> html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > wizard-nav > nav > ul > li:nth-child(2) > button
      .label.pull-left > i18n-text <i18n-text ng-reflect-key="metadata-ui"> html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > wizard-nav > nav > ul > li:nth-child(2) > button
      button > span.direction.pull-right <span class="direction pull-right"> <i class="fa fa-arrow-circle-right d-block fa-2x"></i> <!---->Next </span> html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > wizard-nav > nav > ul > li:nth-child(2) > button
      html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > .py-4 > org-info-form > form > .row > fieldset:nth-child(2) > p > button <button aria-label="Add logout contact to accordion group" class="btn btn-success btn-sm">Add Contact</button> html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > .py-4 > org-info-form > form > .row > fieldset:nth-child(2) > p > button
      #name <input class="form-control ng-untouched ng-pristine ng-valid" formcontrolname="name" id="name" placeholder="" type="text" ng-reflect-name="name" maxlength="255" style="background-image: url("data:image/png;base64,iVB[shortened]YII="); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;"> #name

      Example Page: User Interface/MDUI INfo (similar sections on other pages need fixing as well)

      Element location Element Source Related node
      items listed above see above chart look up there^
      html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > .py-4 > metadata-ui-form > form > .row.ng-pristine > fieldset:nth-child(1) > div:nth-child(3) > small.form-text.text-muted <small class="form-text text-muted"> <!----> 0 / 255 </small> section > div:nth-child(2)
      html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > .py-4 > metadata-ui-form > form > .row.ng-pristine > fieldset:nth-child(2) > .row > div:nth-child(1) > .form-group > small.form-text.text-muted <small class="form-text text-muted">Must be an integer equal to or greater than 0</small> section > div:nth-child(2)
        <small class="form-text text-muted">Must be an integer equal to or greater than 0</small> section > div:nth-child(2)
      html > body > app-root > provider-page > wizard-page > .container-fluid.p-3 > section > div:nth-child(2) > .py-4 > metadata-ui-form > form > .row.ng-pristine > fieldset:nth-child(2) > .row > div:nth-child(2) > .form-group > small.form-text.text-muted <small class="form-text text-muted">Must be an integer equal to or greater than 0</small> section > div:nth-child(2)

      NOTE: on the Relying Party Overrides page, after the user checks a box, the text changes colors to green. This also fails the color contrast test. See screenshot.

      Attachments

        1. AddMetadataCreateFile.png
          AddMetadataCreateFile.png
          164 kB
        2. AddMetadataEnabledGreenButton.png
          AddMetadataEnabledGreenButton.png
          69 kB
        3. AddMetadataUploadFile.png
          AddMetadataUploadFile.png
          161 kB
        4. aXeExampleEditPage_ContrastIssue.mov
          8.44 MB
        5. Contrast_Filter Page.png
          330 kB
        6. CreateFlow_10Finished.png
          CreateFlow_10Finished.png
          246 kB
        7. CreateFlow_2OrgInfoPage.png
          CreateFlow_2OrgInfoPage.png
          192 kB
        8. CreateFlow_3UserIntPage.png
          CreateFlow_3UserIntPage.png
          103 kB
        9. CreateFlow_4SPSSOdescInfo.png
          CreateFlow_4SPSSOdescInfo.png
          184 kB
        10. CreateFlow_5LogoutEndpt.png
          CreateFlow_5LogoutEndpt.png
          182 kB
        11. CreateFlow_6SecInfo.png
          CreateFlow_6SecInfo.png
          207 kB
        12. CreateFlow_7AssertConServ.png
          CreateFlow_7AssertConServ.png
          172 kB
        13. CreateFlow_8RelyPartyOvr.png
          CreateFlow_8RelyPartyOvr.png
          182 kB
        14. CreateFlow_9AttRel.png
          CreateFlow_9AttRel.png
          190 kB
        15. EditFlow_AssertConsSer.png
          EditFlow_AssertConsSer.png
          128 kB
        16. EditFlow_AttRelease.png
          EditFlow_AttRelease.png
          138 kB
        17. EditFlow_LogoutEndpt.png
          EditFlow_LogoutEndpt.png
          100 kB
        18. EditFlow_OrgINfo.png
          EditFlow_OrgINfo.png
          143 kB
        19. EditFlow_OrgINfo1.png
          EditFlow_OrgINfo1.png
          176 kB
        20. EditFlow_RelyPartyOver.png
          EditFlow_RelyPartyOver.png
          148 kB
        21. EditFlow_SecInfo.png
          EditFlow_SecInfo.png
          133 kB
        22. EditFlow_SSODescrpt.png
          EditFlow_SSODescrpt.png
          121 kB
        23. EditFlow_UserIntfc.png
          EditFlow_UserIntfc.png
          136 kB

        Activity

          People

            mmosbrook Mary Mosbrook (Inactive)
            mmosbrook Mary Mosbrook (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour, 45 minutes
                1h 45m