[moodle.git] / lib / editor / atto / plugins / accessibilitychecker / tests / behat / accessibilitychecker.feature
1 @editor @editor_atto @atto @atto_accessibilitychecker
2 Feature: Atto accessibility checker
3   To write accessible text in Atto, I need to check for accessibility warnings.
5   @javascript
6   Scenario: Images with no alt
7     Given I log in as "admin"
8     And I navigate to "Edit profile" node in "My profile settings"
9     And I set the field "Description" to "<p>Some plain text</p><img src='/broken-image' width='1' height='1'/><p>Some more text</p>"
10     When I click on "Show more buttons" "button"
11     And I click on "Accessibility checker" "button"
12     Then I should see "Images require alternative text."
13     And I follow "/broken-image"
14     And I wait "2" seconds
15     And I click on "Image" "button"
16     And the field "Enter URL" matches value "/broken-image"
17     And I set the field "Describe this image" to "No more warning!"
18     And I press "Save image"
19     And I press "Accessibility checker"
20     And I should see "Congratulations, no accessibility problems found!"
21     And I click on ".moodle-dialogue-focused .closebutton" "css_element"
22     And I select the text in the "Description" Atto editor
23     And I click on "Image" "button"
24     And I set the field "Describe this image" to ""
25     And I set the field "Description not necessary" to "1"
26     And I press "Save image"
27     And I press "Accessibility checker"
28     And I should see "Congratulations, no accessibility problems found!"
30   @javascript
31   Scenario: Low contrast
32     Given I log in as "admin"
33     And I navigate to "Edit profile" node in "My profile settings"
34     And I set the field "Description" to "<p style='color: #7c7cff; background-color: #ffffff;'>Hard to read</p>"
35     When I click on "Show more buttons" "button"
36     And I click on "Accessibility checker" "button"
37     Then I should see "The colours of the foreground and background text do not have enough contrast."
39   @javascript
40   Scenario: No headings
41     Given I log in as "admin"
42     And I navigate to "Edit profile" node in "My profile settings"
43     And I set the field "Description" to "<p>Sweet roll oat cake jelly-o macaroon donut oat cake. Caramels macaroon cookie sweet roll croissant cheesecake candy jelly-o. Gummies sugar plum sugar plum gingerbread dessert. Tiramisu bonbon jujubes danish marshmallow cookie chocolate cake cupcake tiramisu. Bear claw oat cake chocolate bar croissant. Lollipop cookie topping liquorice croissant. Brownie cookie cupcake lollipop cupcake cupcake. Fruitcake dessert sweet biscuit dragée caramels marzipan brownie. Chupa chups gingerbread apple pie cookie liquorice caramels carrot cake cookie gingerbread. Croissant candy jelly beans. Tiramisu apple pie dessert apple pie macaroon soufflé. Brownie powder carrot cake chocolate. Tart applicake croissant dragée macaroon chocolate donut.</p><p>Jelly beans gingerbread tootsie roll. Sugar plum tiramisu cotton candy toffee pie cotton candy tiramisu. Carrot cake chocolate bar sesame snaps cupcake cake dessert sweet fruitcake wafer. Marshmallow cupcake gingerbread pie sweet candy canes powder gummi bears. Jujubes cake muffin marshmallow candy jelly beans tootsie roll pie. Gummi bears applicake chocolate cake sweet jelly sesame snaps lollipop lollipop carrot cake. Marshmallow cake jelly beans. Jelly beans sesame snaps muffin halvah cookie ice cream candy canes carrot cake. Halvah donut marshmallow tiramisu. Cookie dessert gummi bears. Sugar plum apple pie jelly beans gummi bears tart chupa chups. Liquorice macaroon gummi bears gummies macaroon marshmallow sweet roll cake topping. Lemon drops caramels pie icing danish. Chocolate cake oat cake dessert halvah danish carrot cake apple pie.</p>"
44     When I click on "Show more buttons" "button"
45     And I click on "Accessibility checker" "button"
46     Then I should see "There is a lot of text with no headings."
48   @javascript
49   Scenario: Merged cells
50     Given I log in as "admin"
51     And I navigate to "Edit profile" node in "My profile settings"
52     And I set the field "Description" to "<table><caption>Dogs that look good in pants</caption><tr><th>Breed</th><th>Coolness</th></tr><tr><td>Poodle</td><td rowspan='2'>NOT COOL</td></tr><tr><td>Doberman</td></tr></table>"
53     When I click on "Show more buttons" "button"
54     And I click on "Accessibility checker" "button"
55     Then I should see "Tables should not contain merged cells."
57   @javascript
58   Scenario: Table missing row/column headers
59     Given I log in as "admin"
60     And I navigate to "Edit profile" node in "My profile settings"
61     And I set the field "Description" to "<table><caption>Dogs that look good in pants</caption><tr><th>Breed</th><td>Coolness</td></tr><tr><td>Poodle</td><td>NOT COOL</td></tr><tr><td>Doberman</td><td>COOL</td></tr></table>"
62     When I click on "Show more buttons" "button"
63     And I click on "Accessibility checker" "button"
64     Then I should see "Tables should use row and/or column headers."
66   @javascript
67   Scenario: Table missing caption
68     Given I log in as "admin"
69     And I navigate to "Edit profile" node in "My profile settings"
70     And I set the field "Description" to "<table><tr><th>Breed</th><th>Coolness</th></tr><tr><td>Poodle</td><td>NOT COOL</td></tr><tr><td>Doberman</td><td>COOL</td></tr></table>"
71     When I click on "Show more buttons" "button"
72     And I click on "Accessibility checker" "button"
73     Then I should see "Tables should have captions."