MDL-70148 gradereport_grader: Improve reliability of keyboard usage
authorAndrew Nicols <andrew@nicols.co.uk>
Mon, 9 Nov 2020 07:35:54 +0000 (15:35 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Tue, 17 Nov 2020 07:14:43 +0000 (15:14 +0800)
commitd3a9e2935d953f9867072792906c0a97f402f07e
treed3d549faebd011ef124db1a9c08c057b593e7d66
parent2adc010b85137d4e45dd4ddf11bdd899c8de2138
MDL-70148 gradereport_grader: Improve reliability of keyboard usage

In some browsers the ajax grade select does not properly update the
grade after setting values. The previous solution was to press the
[enter] key, but doing this with the new key type step opens the select
box again. This is what happens when a real user presses enter on the
select.

This is the last possible field in the report, so pressing the tab key
to move to the next gradable element does not work.

The solution uses a shift-tab to move the focus away to the previous
gradale element. In this case it must also be moved to an earlier step
because the previously selected value must be checked in the Then
section of the test and if it is selected then its value cannot be
checked.
grade/report/grader/tests/behat/ajax_grader.feature