Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

@tool @tool_usertours
Feature: Apply accessibility to a tour
  Background:
    Given I log in as "admin"
    And I add a new user tour with:
      | Name                | First tour |
      | Description         | My first tour |
      | Apply to URL match  | FRONTPAGE |
      | Tour is enabled     | 1 |
      | Show with backdrop  | 1 |
    And I add steps to the "First tour" tour:
      | targettype                | Title   | id_content    | Content type   |
      | Display in middle of page | Welcome | Welcome tour. | Manual |
    And I add steps to the tour:
      | targettype | targetvalue_selector | Title     | id_content | Content type   |
      | Selector   | .usermenu            | User menu | Next page  | Manual |
      | Selector   | .navbar-brand        | Page 2    | Next page  | Manual |
    And I add steps to the tour:
      | targettype                | Title  | id_content  | Content type   |
      | Display in middle of page | Page 3 | Final page. | Manual |

  @javascript
  Scenario: Check tabbing working correctly.
    Given I am on site homepage
    And I wait "1" seconds
    And I should see "Welcome"
    # First dialogue of the tour, "Welcome". It has Next and End buttons.
    # Nothing highlighted on the page. Initially whole dialogue focused.
    When I press tab
    Then the focused element is "Next" "button" in the "Welcome" "dialogue"
    When I press tab
    Then the focused element is "Skip tour" "button" in the "Welcome" "dialogue"
    When I press tab
    # Here the focus loops round to the whole dialogue again.
    And I press tab
    Then the focused element is "Next" "button" in the "Welcome" "dialogue"
    # Check looping works properly going backwards too.
    When I press shift tab
    And I press shift tab
    Then the focused element is "Skip tour" "button" in the "Welcome" "dialogue"

    When I press "Next"
    # Now we are on the "User menu" step, so Previous is also enabled.
    # Also, the user menu section in the page is highlighted, and this
    # section contain a hyperlink so the focus have to go though and back to the dialogue.
    And I wait "1" seconds
    And I press tab
    Then the focused element is "Next" "button" in the "User menu" "dialogue"
    When I press tab
    Then the focused element is "Skip tour" "button" in the "User menu" "dialogue"
    # We tab 3 times from "Skip Tour" button to header container, drop down then go to "Dashboard" link.
    When I press tab
    Then the focused element is ".usermenu" "css_element"
    When I press tab
    Then the focused element is "User menu" "button" in the ".usermenu" "css_element"
    When I press tab
    And I press tab
    Then the focused element is "Next" "button" in the "User menu" "dialogue"
    # Press shift-tab twice should lead us back to the user menu button.
    When I press shift tab
    And I press shift tab
    Then the focused element is "User menu" "button" in the ".usermenu" "css_element"

  @javascript
  Scenario: Aria tags should not exist
    And I am on site homepage
    When I click on "Next" "button"
    And I click on "Next" "button"
    Then ".navbar-brand[aria-describedby^='tour-step-tool_usertours']" "css_element" should exist
    And ".navbar-brand[tabindex]" "css_element" should exist
    When I click on "Next" "button"
    Then ".navbar-brand[aria-describedby^='tour-step-tool_usertours']" "css_element" should not exist
    And ".navbar-brand[tabindex]:not([tabindex='-1'])" "css_element" should not exist
    When I click on "End tour" "button"
    Then ".navbar-brand[aria-describedby^='tour-step-tool_usertours']" "css_element" should not exist
    And ".navbar-brand[tabindex]:not([tabindex='0'])" "css_element" should not exist