{
  "id": "F99",
  "rulePrefix": "F99",
  "variant": null,
  "ruleType": "w3c-failure",
  "scanScope": "specimen",
  "synthetic": false,
  "status": "current",
  "title": "Failure of Success Criterion 2.1.4 due to implementing character key shortcuts that cannot be turned off or\n    remapped",
  "summary": "implementing character key shortcuts that cannot be turned off or\n    remapped",
  "whyItFails": "This page reproduces the F99 failure pattern so auditors can verify detection against 2.1.4.",
  "principles": [
    "operable"
  ],
  "guidelines": [
    "2.1"
  ],
  "successCriteria": [
    {
      "id": "2.1.4",
      "name": "Character Key Shortcuts",
      "level": "A",
      "slug": "character-key-shortcuts"
    }
  ],
  "versions": [
    "2.1",
    "2.2"
  ],
  "automatable": "partial",
  "requires": [
    "html",
    "css",
    "js",
    "input"
  ],
  "isolated": true,
  "pairWith": [],
  "w3c": {
    "understanding": [
      "https://www.w3.org/WAI/WCAG22/Understanding/character-key-shortcuts"
    ],
    "quickref": [
      "https://www.w3.org/WAI/WCAG22/quickref/#character-key-shortcuts"
    ],
    "technique": "https://www.w3.org/WAI/WCAG22/Techniques/failures/F99"
  },
  "specimen": {
    "html": "<p>Press <kbd>S</kbd> anywhere to save (no way to disable or remap).</p>\n<button type=\"button\" id=\"f99-save\">Save draft</button>\n<span id=\"f99-status\"></span>",
    "css": "#f99-status { margin-left: 8px; color: #060; }",
    "js": "document.addEventListener('keydown', (e) => {\n  if (e.key === 's' || e.key === 'S') {\n    e.preventDefault();\n    const s = document.getElementById('f99-status');\n    if (s) s.textContent = 'Saved via S shortcut';\n  }\n});",
    "assets": [],
    "demoHint": "Press the S key — a character shortcut fires with no settings to turn it off."
  },
  "expectedFindings": [
    {
      "sc": "2.1.4",
      "outcome": "fail",
      "note": "Specimen demonstrates failure of 2.1.4."
    }
  ],
  "mustNotFlag": [],
  "manualCheck": "Confirm the specimen demonstrates the documented F99 failure in isolation.",
  "generated": {
    "url": "https://wcagfail.patternd.io/specimens/F99/",
    "lastmod": "2026-10-08"
  }
}
