Bow Tie Kreative Writing System

Rules / accessibility

ACC-009 Hard constraint layer: sentence

Avoid directional text without structural anchor

IF instructions say above, below, left, right, or color-only location and layout can reflow, THEN name the control, section, or landmark ELSE retain stable spatial instruction.

Why the rule exists

Responsive layouts and assistive presentation can change spatial relationships.

Condition

The rule fires when this evaluates true. Paths marked below must be present in the fact base; the engine reports the rest rather than guessing them.

  • ALL
    • sentence.spatial_reference in [above, below, left, right, color_only]
    • interface.layout_can_reflow eq true

Facts this rule reads

Fact paths read by ACC-009 and whether the analyser derives them
PathSource
sentence.spatial_reference You supply it
interface.layout_can_reflow You supply it

Then

  1. replace — target sentence.spatial_reference

Else

  1. retain — target current_text, No triggering condition is present.

Test cases

TST-020 · [object Object]

Before
Choose the green button on the right.
After
Select Submit order.
Reason
The label survives color perception and reflow.

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • Writing for Web Accessibility — W3C Web Accessibility Initiative link
    Clear structure, descriptive labels, alternatives, and understandable content.
  • Web Content Accessibility Guidelines 2.2 — W3C link
    Testable accessibility requirements for web content.
The raw rule record

Verbatim from 17-accessibility-rules.json. Also available at /v1/rules/ACC-009.

{
  "id": "ACC-009",
  "name": "Avoid directional text without structural anchor",
  "domain": "accessibility",
  "layer": "sentence",
  "strength": "hard_constraint",
  "human_logic": "IF instructions say above, below, left, right, or color-only location and layout can reflow, THEN name the control, section, or landmark ELSE retain stable spatial instruction.",
  "when": {
    "all": [
      {
        "path": "sentence.spatial_reference",
        "operator": "in",
        "value": [
          "above",
          "below",
          "left",
          "right",
          "color_only"
        ]
      },
      {
        "path": "interface.layout_can_reflow",
        "operator": "eq",
        "value": true
      }
    ]
  },
  "then": [
    {
      "action": "replace",
      "target": "sentence.spatial_reference",
      "with": "named_control_section_or_landmark"
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "Responsive layouts and assistive presentation can change spatial relationships.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "WEB-005",
    "WEB-007"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other accessibility rules

  1. ACC-001 Use clear words for the actual audience IF a simpler word is equally accurate, respectful, and familiar, THEN use it ELSE retain the necessary precise term with support. Context default
  2. ACC-002 Simple tense and voice when possible IF present active construction expresses the real time and actor, THEN prefer it ELSE use the tense and voice accuracy requires. Context default
  3. ACC-003 No nested double negatives IF a double negative or negative inside another condition obscures polarity, THEN rewrite with one explicit positive or negative operation ELSE retain a necessary legal distinction with explanation. Hard constraint
  4. ACC-004 Separate each instruction IF multiple actions appear in one block and can be completed separately, THEN make each a separate step ELSE retain a single compound action. Context default
  5. ACC-005 Explain implied meaning when consequential IF humor, irony, metaphor, convention, or context carries a consequential instruction or conclusion, THEN state the literal meaning too ELSE retain. Hard constraint
  6. ACC-006 Headings and labels are unique and descriptive IF repeated or vague headings prevent out-of-context identification, THEN rename them by topic or task ELSE retain. Hard constraint
  7. ACC-007 Text alternatives convey function or information IF meaningful non-text content appears, THEN provide a concise equivalent of its purpose and relevant information; IF decorative, mark it ignorable ELSE block release. Hard constraint
  8. ACC-008 Do not encode meaning by color alone IF color distinguishes status, category, instruction, or error, THEN add text, shape, icon, pattern, or position with an accessible label ELSE retain. Hard constraint