LAKA-WCAG-DRAG-ALTERNATIVE
wcag_requirement change level: Major Change execution: NOT_TESTED
Object
reorderable list — A concrete authorized component instance; bind before execution.
States: populated moving reordered
Applicability — IF
- function.uses_dragging
Requirement — THEN REQUIRE
- OR
- pointer.same_function_without_dragging
- drag.essential_exception_verified
- drag.unmodified_browser_exception_verified
WCAG references
Implementation
Choose a simple-pointer move control and separately check keyboard operation.
LAKA instantiation
- Object
- reorderable list in the declared test scope.
- Conditions
- Use the listed states with a recorded role, fixture and environment.
- Actions
- Execute the named task and its relevant recovery transitions.
- Tools
- Use repository test adapters and qualified manual review where needed.
- Resources
- Synthetic fixtures, a test environment, accountable owner and evidence store.
- Outcomes
- The function has a valid non-drag single-pointer route or a proven criterion exception.
- Feedback
- Preserve observations and create a linked regression check after repair.
- Constraints
- Do not weaken security, erase information or reduce task functionality.
- Value
- Support independent operation of this task without the recorded barrier.
- Failure mode
- An assertion fails, remains unknown or regresses in a relevant state.
Measurement lenses: Scope Detectability Propagation Reversibility
Full record
{
"id": "LAKA-WCAG-DRAG-ALTERNATIVE",
"version": "1.0.0",
"authority": "wcag_requirement",
"source_refs": [
"SC-2.5.7"
],
"wcag_refs": [
{
"criterion_id": "2.5.7",
"level": "AA"
}
],
"covers_full_criteria": false,
"object": {
"type": "reorderable list",
"scope": "A concrete authorized component instance; bind before execution.",
"states": [
"populated",
"moving",
"reordered"
]
},
"applicability": {
"predicate": "function.uses_dragging"
},
"require": {
"any": [
{
"predicate": "pointer.same_function_without_dragging"
},
{
"predicate": "drag.essential_exception_verified"
},
{
"predicate": "drag.unmodified_browser_exception_verified"
}
]
},
"exceptions": [
{
"clause": "2.5.7 essential dragging or unmodified user-agent behavior",
"instance_scope": "Only the specific function for which evidence is recorded.",
"proof_required": true,
"review_required": true
}
],
"implementation": "Choose a simple-pointer move control and separately check keyboard operation.",
"laka": {
"change_level": "Major Change",
"internal_variables": {
"Object": "reorderable list in the declared test scope.",
"Conditions": "Use the listed states with a recorded role, fixture and environment.",
"Actions": "Execute the named task and its relevant recovery transitions.",
"Tools": "Use repository test adapters and qualified manual review where needed.",
"Resources": "Synthetic fixtures, a test environment, accountable owner and evidence store.",
"Outcomes": "The function has a valid non-drag single-pointer route or a proven criterion exception.",
"Feedback": "Preserve observations and create a linked regression check after repair.",
"Constraints": "Do not weaken security, erase information or reduce task functionality.",
"Value": "Support independent operation of this task without the recorded barrier.",
"Failure mode": "An assertion fails, remains unknown or regresses in a relevant state."
},
"meta_variables": [
"Scope",
"Detectability",
"Propagation",
"Reversibility"
]
},
"tests": [
{
"method": "mixed",
"steps": [
"Reach the reorder function.",
"Complete the same move using simple pointer activation, not dragging.",
"Inspect the outcome and any claimed exception."
],
"expected": "The function has a valid non-drag single-pointer route or a proven criterion exception.",
"evidence_required": [
"build and test fixture",
"rendered interaction observations",
"reviewed manual evidence where required"
]
}
],
"metrics": [
{
"measure": "supported required assertions",
"unit": "count",
"decision": "No false or unresolved required assertions.",
"denominator": "All applicable planned assertions for this bound instance."
}
],
"guardrails": [
"A keyboard-only alternative cannot substitute for the pointer assertion.",
"Retain the item and its correct position."
],
"owner": "Assigned accessibility implementation owner",
"execution_status": "NOT_TESTED"
}