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)
commit3959958372bc7340961b10aaa07352a560645d79
treee506c9378b2d3454d58c07bba41aa1cbc750a4b4
parentbce0d4b80ff8384f314de334a72f764474cde245
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