Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-84833

Clicking "Mark as done" does not provide feedback to assistive technology users

XMLWordPrintable

    • MOODLE_404_STABLE, MOODLE_405_STABLE
    • MOODLE_404_STABLE, MOODLE_405_STABLE, MOODLE_500_STABLE
    • MDL-84833-404
    • MDL-84833-405
    • MDL-84833-main
    • Hide

      Setup scenario

      The SRLogger class was extensively tested in MDL-79061, so we only need to test the action change the SR Logger content. The easiest way is to make the element visible:

      1. Login as admin and go to "Site administration > appearance > Themes"
      2. Ensure you are using Boost.
      3. Edit the Boost theme settings with the cog icon.
      4. Go to the "Advanced settings" tab
      5. In the "Raw SCSS" paste this code:

        #sr-logger-feedback-container {
          background-color: lightyellow;
          position: fixed !important;
          right: 0;
          left: 0;
          bottom: 0;
          z-index: 1030;
          width: initial !important;
          height: initial !important;
          padding: 2rem !important;
          margin: initial !important;
          overflow: initial !important;
          clip: auto !important;
          white-space: initial !important;
          border: solid orange 5px !important
        } 

      6. Ensure you have the debug mode on. Using mdk you can execute "mdk run mindev.php" or go to "Site administration > development > debuggon" and set debug messages to DEVELOPER.
      7. Create a course with completion tracking. There should be two page activities, "Activity 1" and "Activity 2," with manual completion.
      8. Enrol a student

      Test 1:  page course completion test

      1. log in as the student, and go to the course page
      2. Mark "Activity 1" as done. We need to do this to initiate the logger element for the first time.
        1. Check if a yellow bottom bar appears on the page. This is the log message bar.
      3. You need to stay alert during this step because the log message lasts only four seconds: While looking at the log message bar, mark "Activity 2" as done.
        1. Check that the log message bar has been changed to "Activity 2 marked as completed."
      4. Wait 5 seconds
        1. Check that the log message bar is now empty.
      5. In this step, you need to stay alert again. While looking at the log message bar, mark "Activity 2" as undone.
        1. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted."

      Test 2: activity page

      1. If you are not there already, log in as a student and go to the course page.
      2. Access "Activity 2"
      3. Stay alert in the lower part of your browser. Mark the activity as done using the completion button below the activity tabs.
        1. Check that the yellow log message bottom bar appears and the content is "Activity 2 marked as completed"
      4. Wait 5 seconds
        1. Check that the log message bar is now empty.
      5. In this step, you need to stay alert again. While looking at the log message bar, use the completion button to unmark the activity completion.
        1. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted."

      Test 3 (only in main): activity overview page

      1. If you are not there, log in as a student and go to the course page.
      2. Go to the "Activities" tab.
      3. Expand the "Resources" sections (if you create a type of activity that is not resource, open the section where the activities are)
      4. Stay alert in the lower part of your browser. Use the button in the "completion status" column to mark "Activity 2" as done.
        1. Check that the yellow log message bottom bar appears and the content is "Activity 2 marked as completed"
      5. Wait 5 seconds
        1. Check that the log message bar is now empty.
      6. In this step, you need to stay alert again. While looking at the log message bar, click again the completion button to unmark "Activity 2" completion.
        1. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted."

      Test 4: batch completion

      This test only checks the batch notification strings. There is no batch manual completion edit in Moodle.

      1. You need the IDs of each activity. You can take the ID from the "id=" parameter in the activity URL. Note down both IDs (we will call them YY and ZZ), you will need them later.
      2. If you are not there, log in as a student and go to the course page.
      3. Open the browser console and find some line like (the XX may change depending on the course ID):
        Registering new reactive instance "M.reactive.CourseEditorXX"
      4. Execute the following command in the console (XX is the course id, YY the activity 1 ID, ZZ the activity 2 ID):

        M.reactive.CourseEditorXX.dispatch('cmCompletion', [YY, ZZ], 1) 

        1. Check that the content of the log message bar appears and the content is "Selected 2 activities marked as completed."
      5. Wait 5 seconds
        1. Check that the log message bar is now empty.
      6. Execute the following command in the console (XX is the course id, YY the activity 1 ID, ZZ the activity 2 ID):

        M.reactive.CourseEditorXX.dispatch('cmCompletion', [YY, ZZ], 0) 

        1. Check that the content of the log message bar appears and the content is "Selected 2 activities marked as uncompleted."

       

      Show
      Setup scenario The SRLogger class was extensively tested in MDL-79061 , so we only need to test the action change the SR Logger content. The easiest way is to make the element visible: Login as admin and go to "Site administration > appearance > Themes" Ensure you are using Boost. Edit the Boost theme settings with the cog icon. Go to the "Advanced settings" tab In the "Raw SCSS" paste this code: #sr-logger-feedback-container {   background-color: lightyellow;   position: fixed !important;   right: 0 ;   left: 0 ;   bottom: 0 ;   z-index: 1030 ;   width: initial !important;   height: initial !important;   padding: 2rem !important;   margin: initial !important;   overflow: initial !important;   clip: auto !important;   white-space: initial !important;   border: solid orange 5px !important } Ensure you have the debug mode on. Using mdk you can execute "mdk run mindev.php" or go to "Site administration > development > debuggon" and set debug messages to DEVELOPER. Create a course with completion tracking. There should be two page activities, "Activity 1" and "Activity 2," with manual completion. Enrol a student Test 1:  page course completion test log in as the student, and go to the course page Mark "Activity 1" as done. We need to do this to initiate the logger element for the first time. Check if a yellow bottom bar appears on the page. This is the log message bar. You need to stay alert during this step because the log message lasts only four seconds: While looking at the log message bar, mark "Activity 2" as done. Check that the log message bar has been changed to "Activity 2 marked as completed." Wait 5 seconds Check that the log message bar is now empty. In this step, you need to stay alert again. While looking at the log message bar, mark "Activity 2" as undone. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted." Test 2: activity page If you are not there already, log in as a student and go to the course page. Access "Activity 2" Stay alert in the lower part of your browser. Mark the activity as done using the completion button below the activity tabs. Check that the yellow log message bottom bar appears and the content is "Activity 2 marked as completed" Wait 5 seconds Check that the log message bar is now empty. In this step, you need to stay alert again. While looking at the log message bar, use the completion button to unmark the activity completion. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted." Test 3 (only in main): activity overview page If you are not there, log in as a student and go to the course page. Go to the "Activities" tab. Expand the "Resources" sections (if you create a type of activity that is not resource, open the section where the activities are) Stay alert in the lower part of your browser. Use the button in the "completion status" column to mark "Activity 2" as done. Check that the yellow log message bottom bar appears and the content is "Activity 2 marked as completed" Wait 5 seconds Check that the log message bar is now empty. In this step, you need to stay alert again. While looking at the log message bar, click again the completion button to unmark "Activity 2" completion. Check that the content of the log message bar has been changed to "Activity 2 marked as uncompleted." Test 4: batch completion This test only checks the batch notification strings. There is no batch manual completion edit in Moodle. You need the IDs of each activity. You can take the ID from the "id=" parameter in the activity URL. Note down both IDs (we will call them YY and ZZ), you will need them later. If you are not there, log in as a student and go to the course page. Open the browser console and find some line like (the XX may change depending on the course ID): Registering new reactive instance "M.reactive.CourseEditorXX" Execute the following command in the console (XX is the course id, YY the activity 1 ID, ZZ the activity 2 ID): M.reactive.CourseEditorXX.dispatch( 'cmCompletion' , [YY, ZZ], 1 ) Check that the content of the log message bar appears and the content is "Selected 2 activities marked as completed." Wait 5 seconds Check that the log message bar is now empty. Execute the following command in the console (XX is the course id, YY the activity 1 ID, ZZ the activity 2 ID): M.reactive.CourseEditorXX.dispatch( 'cmCompletion' , [YY, ZZ], 0 ) Check that the content of the log message bar appears and the content is "Selected 2 activities marked as uncompleted."  
    • Hide

      Code verified against automated checks.

      Checked MDL-84833 using repository: https://github.com/ferranrecio/moodle.git

      More information about this report

      Built on: Mon Apr 14 15:09:11 UTC 2025

      Show
      Code verified against automated checks. Checked MDL-84833 using repository: https://github.com/ferranrecio/moodle.git MOODLE_404_STABLE (0 errors / 0 warnings) [branch: MDL-84833-404 | CI Job ] MOODLE_405_STABLE (0 errors / 0 warnings) [branch: MDL-84833-405 | CI Job ] main (0 errors / 0 warnings) [branch: MDL-84833-main | CI Job ] More information about this report Built on: Mon Apr 14 15:09:11 UTC 2025
    • Show
      Launching automatic jobs for branch MDL-84833 -404 https://ci.moodle.org/view/Testing/job/DEV.02%20-%20Developer-requested%20PHPUnit/18814/ PHPUnit (sqlsrv) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64434/ Behat (NonJS - boost and classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64435/ Behat (Firefox - boost) Launching automatic jobs for branch MDL-84833 -405 https://ci.moodle.org/view/Testing/job/DEV.02%20-%20Developer-requested%20PHPUnit/18815/ PHPUnit (sqlsrv) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64436/ Behat (NonJS - boost and classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64437/ Behat (Firefox - boost) Launching automatic jobs for branch MDL-84833 -main https://ci.moodle.org/view/Testing/job/DEV.02%20-%20Developer-requested%20PHPUnit/18816/ PHPUnit (sqlsrv) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64438/ Behat (NonJS - boost and classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64439/ Behat (Firefox - boost) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64440/ Behat (Firefox - classic) https://ci.moodle.org/view/Testing/job/DEV.01%20-%20Developer-requested%20Behat/64441/ App tests (stable app version) Built on: Wed Mar 26 10:31:33 UTC 2025
    • HQ 2025 Sprint I1.3 Moppies

      From the audit:

      The "Mark as done" confirmation is visual only, and no indication is given to users who rely on assistive technology.

      Guidelines affected:

      • SC 4.1.3 Status Messages (AA)

      Note: We also need to fix this on the activity view page.

        1. image-2025-03-25-12-18-43-050.png
          image-2025-03-25-12-18-43-050.png
          70 kB
        2. MDL-77237_4_4.png
          MDL-77237_4_4.png
          72 kB
        3. MDL-77237_4_5.png
          MDL-77237_4_5.png
          75 kB
        4. MDL-77237_4_6.png
          MDL-77237_4_6.png
          81 kB
        5. MDL-84833_1_2.png
          MDL-84833_1_2.png
          32 kB
        6. MDL-84833_1_3.png
          MDL-84833_1_3.png
          31 kB
        7. MDL-84833_1_4.png
          MDL-84833_1_4.png
          31 kB
        8. MDL-84833_1_5.png
          MDL-84833_1_5.png
          32 kB
        9. MDL-84833_2_3.png
          MDL-84833_2_3.png
          24 kB
        10. MDL-84833_2_4.png
          MDL-84833_2_4.png
          23 kB
        11. MDL-84833_2_5.png
          MDL-84833_2_5.png
          25 kB
        12. MDL-84833_3_4.png
          MDL-84833_3_4.png
          38 kB
        13. MDL-84833_3_5.png
          MDL-84833_3_5.png
          34 kB
        14. MDL-84833_3_6.png
          MDL-84833_3_6.png
          38 kB
        15. message_bar.png
          message_bar.png
          70 kB

            tusefomal Ferran Recio
            jpataleta Jun Pataleta
            Laurent David Laurent David
            Amaia Anabitarte Amaia Anabitarte
            Meirza Meirza
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 4 hours, 34 minutes
                4h 34m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.