{
  "id": "SC-3.3.1",
  "rulePrefix": "SC-3.3.1",
  "variant": null,
  "ruleType": "synthetic-sc",
  "scanScope": "specimen",
  "synthetic": true,
  "status": "current",
  "title": "Invalid field with no error message",
  "summary": "Submitting an empty required field shows no error indication.",
  "whyItFails": "Users do not know which field failed because no text or programmatic error is exposed.",
  "principles": [
    "understandable"
  ],
  "guidelines": [
    "3.3"
  ],
  "successCriteria": [
    {
      "id": "3.3.1",
      "name": "Error Identification",
      "level": "A",
      "slug": "error-identification"
    }
  ],
  "versions": [
    "2.0",
    "2.1",
    "2.2"
  ],
  "automatable": "partial",
  "requires": [
    "html",
    "js"
  ],
  "isolated": true,
  "pairWith": [],
  "w3c": {
    "understanding": [
      "https://www.w3.org/WAI/WCAG22/Understanding/error-identification"
    ],
    "quickref": [
      "https://www.w3.org/WAI/WCAG22/quickref/#error-identification"
    ]
  },
  "specimen": {
    "html": "<form>\n  <label for=\"sc331-email\">Email</label>\n  <input type=\"email\" id=\"sc331-email\" name=\"email\">\n  <p class=\"sc331-error\">Error: invalid input</p>\n  <button type=\"submit\">Send</button>\n</form>",
    "css": ".sc331-error { color: #c00; }",
    "js": "",
    "assets": []
  },
  "expectedFindings": [
    {
      "sc": "3.3.1",
      "outcome": "fail",
      "note": "Specimen demonstrates failure of 3.3.1."
    }
  ],
  "mustNotFlag": [],
  "manualCheck": "Submit the form with an empty required field and confirm no error is announced or shown.",
  "generated": {
    "url": "https://wcagfail.patternd.io/specimens/SC-3.3.1/",
    "lastmod": "2026-10-08"
  }
}
