fix: address self-review findings

This commit is contained in:
Matt Van Horn
2026-08-11 16:51:56 -07:00
parent 615633712f
commit d5c0075f75
2 changed files with 102 additions and 6 deletions
+60
View File
@@ -3,6 +3,7 @@
from __future__ import annotations
import shutil
import subprocess
import sys
import tempfile
@@ -116,6 +117,21 @@ def main() -> int:
'bare id="title" and id="desc" are not allowed',
directory,
)
require_failure(
"placeholder-ids",
VALID_SVG.replace("fixture-title", "[diagram-slug]-title").replace(
"fixture-desc", "[diagram-slug]-desc"
),
"accessible-name IDs contain unresolved placeholder(s): "
"[diagram-slug]-title, [diagram-slug]-desc",
directory,
)
require_failure(
"duplicate-naming-ids",
VALID_SVG + VALID_SVG,
'duplicate accessible-name id="fixture-desc" is not allowed',
directory,
)
require_pass(
"decorative",
'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">'
@@ -123,6 +139,50 @@ def main() -> int:
directory,
)
project = directory / "baseline-project"
(project / "scripts").mkdir(parents=True)
(project / "skills/diagram-design/assets").mkdir(parents=True)
(project / "skills/diagram-design/references").mkdir(parents=True)
shutil.copy2(LINTER, project / "scripts/lint-skin.py")
shutil.copy2(
ROOT / "skills/diagram-design/references/style-guide.md",
project / "skills/diagram-design/references/style-guide.md",
)
(project / "scripts/lint-skin-baseline.txt").write_text(
"example-baseline.html\n", encoding="utf-8"
)
(project / "skills/diagram-design/assets/example-baseline.html").write_text(
'<svg style="color: #123456"></svg>\n', encoding="utf-8"
)
baseline_result = subprocess.run(
[
sys.executable,
str(project / "scripts/lint-skin.py"),
"--all",
"--baseline",
],
capture_output=True,
text=True,
check=False,
)
if baseline_result.returncode != 1:
raise AssertionError(
"baseline-a11y: expected exit 1, got "
f"{baseline_result.returncode}\n"
f"{baseline_result.stdout}{baseline_result.stderr}"
)
if "a11y: diagram <svg> must carry role=\"img\"" not in baseline_result.stdout:
raise AssertionError(
"baseline-a11y: missing expected accessibility finding\n"
f"{baseline_result.stdout}"
)
if "color:" in baseline_result.stdout:
raise AssertionError(
"baseline-a11y: legacy visual finding was not exempted\n"
f"{baseline_result.stdout}"
)
print("OK: baseline file receives a11y checks but keeps visual exemptions")
print("All accessible-SVG lint cases passed.")
return 0