Revert "feat: Enterprise DSS architecture implementation"
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled

This reverts commit 9dbd56271e.
This commit is contained in:
DSS
2025-12-11 09:59:45 -03:00
parent 9dbd56271e
commit 44cea9443b
27 changed files with 397 additions and 3887 deletions

View File

@@ -3,20 +3,22 @@
"id": "accessibility",
"version": "1.0.0",
"name": "Accessibility Rules",
"description": "WCAG 2.1 AA compliance rules (token-based, not computed)",
"description": "WCAG 2.1 AA compliance rules for accessible design",
"category": "accessibility",
"severity": "error",
"rules": [
{
"id": "images-have-alt",
"name": "Images Must Have Alt Text",
"description": "All img elements must have alt attribute",
"description": "All img elements must have meaningful alt text or be marked decorative",
"severity": "error",
"wcag": "1.1.1",
"validation": {
"type": "attribute-required",
"element": "img",
"attribute": "alt"
"attribute": "alt",
"allowEmpty": true,
"emptyMeansDecorative": true
}
},
{
@@ -27,7 +29,8 @@
"wcag": "4.1.2",
"validation": {
"type": "accessible-name",
"elements": ["button", "[role=button]"]
"elements": ["button", "[role=button]"],
"sources": ["text content", "aria-label", "aria-labelledby"]
}
},
{
@@ -38,38 +41,71 @@
"wcag": "1.3.1",
"validation": {
"type": "label-association",
"elements": ["input", "select", "textarea"]
"elements": ["input", "select", "textarea"],
"methods": ["for/id", "aria-labelledby", "aria-label", "wrapper"]
}
},
{
"id": "no-focus-outline-none",
"name": "Do Not Remove Focus Outline",
"description": "Never use outline: none on focusable elements",
"id": "focus-visible",
"name": "Focus Must Be Visible",
"description": "Interactive elements must have visible focus indicators",
"severity": "error",
"wcag": "2.4.7",
"patterns": {
"forbidden": [
"outline:\\s*none",
"outline:\\s*0(?![0-9])",
":focus\\s*\\{[^}]*outline:\\s*none"
]
"validation": {
"type": "focus-style",
"minContrastRatio": 3.0,
"forbiddenPatterns": ["outline: none", "outline: 0", ":focus { outline: none }"]
}
},
{
"id": "color-not-only",
"name": "Color Not Only Indicator",
"description": "Information must not be conveyed by color alone",
"severity": "warning",
"wcag": "1.4.1",
"guidelines": [
"Error states need icon + color + text",
"Links in text need underline or other indicator",
"Status indicators need icon or pattern"
]
},
{
"id": "touch-target-size",
"name": "Minimum Touch Target Size",
"description": "Interactive elements should be at least 44x44 CSS pixels",
"description": "Interactive elements must be at least 44x44 CSS pixels",
"severity": "warning",
"wcag": "2.5.5",
"guidelines": [
"Use Button component which ensures minimum size",
"Ensure clickable areas have sufficient padding"
]
"validation": {
"type": "size-check",
"minWidth": 44,
"minHeight": 44,
"elements": ["button", "a", "[role=button]", "input[type=checkbox]", "input[type=radio]"]
}
},
{
"id": "keyboard-navigation",
"name": "Keyboard Navigation",
"description": "All functionality must be accessible via keyboard",
"severity": "error",
"wcag": "2.1.1",
"validation": {
"type": "keyboard-accessible",
"requirements": [
"All interactive elements focusable",
"No keyboard traps",
"Logical tab order",
"Skip links for navigation"
]
}
}
],
"compliance": {
"level": "AA",
"standards": ["WCAG 2.1"],
"note": "Computed checks (contrast ratio) require runtime analysis"
"testingTools": [
"axe-core",
"pa11y",
"lighthouse"
]
}
}