{
  "info": {
    "testId": "operateSwitchOffState",
    "title": "Operate a switch that is off",
    "references": [
      {
        "refId": "example",
        "type": "metadata",
        "value": "https://www.w3.org/WAI/ARIA/apg/patterns/switch/examples/switch-checkbox/",
        "linkText": "APG Example: Switch Using HTML Checkbox Input"
      },
      {
        "refId": "@checked",
        "type": "htmlAam",
        "value": "@checked",
        "linkText": "@checked"
      }
    ],
    "presentationNumber": 21
  },
  "target": {
    "ats": [
      {
        "key": "jaws",
        "settings": "virtualCursor",
        "name": "JAWS"
      },
      {
        "key": "jaws",
        "settings": "pcCursor",
        "name": "JAWS"
      },
      {
        "key": "nvda",
        "settings": "browseMode",
        "name": "NVDA"
      },
      {
        "key": "nvda",
        "settings": "focusMode",
        "name": "NVDA"
      },
      {
        "key": "voiceover_macos",
        "settings": "defaultMode",
        "name": "VoiceOver for macOS"
      }
    ],
    "at": {
      "key": "voiceover_macos",
      "settings": "defaultMode",
      "name": "VoiceOver for macOS",
      "raw": {
        "name": "VoiceOver for macOS",
        "key": "voiceover_macos",
        "defaultConfigurationInstructionsHTML": "Configure VoiceOver with default settings. For help, read &lt;a href=&quot;https://github.com/w3c/aria-at/wiki/Configuring-Screen-Readers-for-Testing&quot;&gt;Configuring Screen Readers for Testing&lt;/a&gt;.",
        "assertionTokens": {
          "screenReader": "VoiceOver",
          "readingCursor": "VoiceOver cursor"
        },
        "settings": {
          "quickNavOn": {
            "screenText": "quick nav on",
            "instructions": [
              "Simultaneously press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt;.",
              "If VoiceOver said 'quick nav off', press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt; again to turn it back on."
            ]
          },
          "quickNavOff": {
            "screenText": "quick nav off",
            "instructions": [
              "Simultaneously press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt;.",
              "If VoiceOver said 'quick nav on', press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt; again to turn it back off."
            ]
          },
          "arrowQuickKeyNavOn": {
            "screenText": "arrow quick key nav on",
            "instructions": [
              "Simultaneously press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt;.",
              "If VoiceOver said 'arrow quick key nav off', press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt; again to turn it back on."
            ]
          },
          "arrowQuickKeyNavOff": {
            "screenText": "arrow quick key nav off",
            "instructions": [
              "Simultaneously press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt;.",
              "If VoiceOver said 'arrow quick key nav on', press &lt;kbd&gt;Left Arrow&lt;/kbd&gt; and &lt;kbd&gt;Right Arrow&lt;/kbd&gt; again to turn it back off."
            ]
          },
          "singleQuickKeyNavOn": {
            "screenText": "single quick key nav on",
            "instructions": [
              "Press &lt;kbd&gt;Control&lt;/kbd&gt;+&lt;kbd&gt;Option&lt;/kbd&gt;+&lt;kbd&gt;q&lt;/kbd&gt;.",
              "If VoiceOver said 'single quick key nav off', press &lt;kbd&gt;Control&lt;/kbd&gt;+&lt;kbd&gt;Option&lt;/kbd&gt;+&lt;kbd&gt;q&lt;/kbd&gt; again to turn it back on."
            ]
          },
          "singleQuickKeyNavOff": {
            "screenText": "single quick key nav off",
            "instructions": [
              "Press &lt;kbd&gt;Control&lt;/kbd&gt;+&lt;kbd&gt;Option&lt;/kbd&gt;+&lt;kbd&gt;q&lt;/kbd&gt;.",
              "If VoiceOver said 'single quick key nav on', press &lt;kbd&gt;Control&lt;/kbd&gt;+&lt;kbd&gt;Option&lt;/kbd&gt;+&lt;kbd&gt;q&lt;/kbd&gt; again to turn it back off."
            ]
          }
        }
      }
    },
    "referencePage": "reference/2025-8-25_124251/switch-checkbox.setFocusOnSwitch.html",
    "setupScript": {
      "script": "setFocusOnSwitch",
      "scriptDescription": "sets focus on the 'Notifications' switch",
      "name": "setFocusOnSwitch",
      "source": "// sets focus on the 'Notifications' switch\ntestPageDocument.querySelector('[role=\"switch\"]').focus();\n",
      "modulePath": "scripts/setFocusOnSwitch.module.js",
      "jsonpPath": "scripts/setFocusOnSwitch.jsonp.js"
    }
  },
  "instructions": {
    "instructions": "Starting at the 'Reduced motion' switch, change its state to 'on'.",
    "mode": {
      "defaultMode": [
        "Configure VoiceOver with default settings. For help, read &lt;a href=&quot;https://github.com/w3c/aria-at/wiki/Configuring-Screen-Readers-for-Testing&quot;&gt;Configuring Screen Readers for Testing&lt;/a&gt;."
      ]
    }
  },
  "commands": [
    {
      "id": "ctrl+opt+space",
      "keypresses": [
        {
          "id": "ctrl+opt+space",
          "keystroke": "Control+Option+Space"
        }
      ],
      "assertionExceptions": [],
      "keystroke": "Control+Option+Space",
      "presentationNumber": 21,
      "settings": "defaultMode"
    },
    {
      "id": "space",
      "keypresses": [
        {
          "id": "space",
          "keystroke": "Space"
        }
      ],
      "assertionExceptions": [],
      "keystroke": "Space",
      "presentationNumber": 21.1,
      "settings": "defaultMode"
    },
    {
      "id": "enter",
      "keypresses": [
        {
          "id": "enter",
          "keystroke": "Enter"
        }
      ],
      "assertionExceptions": [],
      "keystroke": "Enter",
      "presentationNumber": 21.2,
      "settings": "defaultMode"
    }
  ],
  "assertions": [
    {
      "assertionId": "stateChangeToOn",
      "priority": 1,
      "assertionStatement": "Change in state, to 'on', is conveyed",
      "assertionPhrase": "convey change in state, to 'on'",
      "refIds": "@checked",
      "tokenizedAssertionStatements": {},
      "tokenizedAssertionPhrases": {}
    }
  ]
}