fix: v1.3.0 검증 후속 조치 (V13-1/2/3)#159
Merged
Merged
Conversation
V13-3 (a11y): give the progress bar an accessible name, make the run-log scroll region keyboard focusable (role=log, tabindex), and replace the input-type selector's panel-less Tabs with an aria-pressed toggle group so it no longer emits an aria-controls pointing at a tabpanel that is never rendered (axe aria-valid-attr-value). V13-2 (license): extract the SPDX alias map into a shared spdx-normalize.jq used by both generate-notice.sh and normalize-sbom.sh, and normalize the bom.json component licenses so the web UI license filter, distribution card, and dependency tree group identically to the NOTICE. Free-text aliases such as "Expat license" are promoted to a proper SPDX license id; a valid-but-wrong upstream id (cdxgen mislabeling a package 0BSD) and unmappable strings are left untouched rather than guessed. Output stays byte-stable and idempotent. V13-1 (docs): the 5 flagged anchors resolve correctly on the rendered site — the site's pymdownx slugify keeps the double hyphen left by a removed em-dash, which a hyphen-collapsing checker disagrees with. Add validation.anchors=warn so `mkdocs build --strict` validates anchors against the site's own slugify, catching real breaks without that false positive. Regression: extend tests/test-postprocess.sh and the license-aliases fixture to cover bom.json license promotion and the preserve-don't-guess cases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
검증팀 v1.3.0 재검증 리포트(
bug-hunter/reports/sbom-tools/v1.3.0/)의 신규 결함 3건을 조치한다.V13-3 — 웹 UI 접근성 3건
aria-label부여 (aria-progressbar-name).role="log"+tabIndex={0}으로 키보드 포커스 가능하게 함 (scrollable-region-focusable).aria-valid-attr-value(F3)의 근본 원인은 콜론 id가 아니라InputTypeSelector가TabsContent없이 Tabs를 써서aria-controls가 존재하지 않는 패널을 가리킨 것이다. 패널이 정상인ResultDashboard탭이 같은 콜론 id를 쓰는데도 지적되지 않은 점이 이를 뒷받침한다. 패널 없는 선택기를role="group"+aria-pressed토글 버튼으로 교체해 dangling 참조를 제거했다.V13-2 — 라이선스 오표기가 신규 UI 표면으로 전파
generate-notice.sh에만 있던 SPDX 정규화 맵을spdx-normalize.jq로 분리해 단일 출처로 만들고,normalize-sbom.sh가 bom.json 컴포넌트 라이선스에도 적용한다. 신규 UI(라이선스 필터·분포 카드·의존성 트리)가 NOTICE와 같은 분류를 읽는다."Expat license"같은 비SPDX 자유 텍스트는 SPDX license id로 승격한다.0BSD는 cdxgen FETCH_LICENSE가.license.id에 넣은 유효하지만 틀린 값(url까지 동봉)이라 데이터만으로 올바른 라이선스를 알 수 없어 추정 교정하지 않고 보존한다. 매핑 불가한"Dual License"와 compound 표현도 그대로 둔다. 근본 원인은 cdxgen 신뢰도다.V13-1 — 문서 내부 앵커 5건
case=lower)로, 헤딩의 em-dash(—)·화살표(↔)를 지운 뒤 양옆 공백이 이중 하이픈(--)으로 남아 링크와 정확히 일치한다. 생성된 HTML에서 5건 모두 실제 앵커가 존재함을 확인했고mkdocs build --strict가 통과한다. 검증기는 하이픈을 단일로 축약하는 slugify를 써서 어긋났다. internal/ 2건은 사이트 빌드에서 제외되는 문서다.mkdocs.yml에validation.anchors: warn을 추가해--strict가 사이트의 실제 slugify로 앵커를 검증하도록 했다. 오탐 없이 향후 실제 깨짐만 차단한다.회귀 방어
tests/test-postprocess.sh에 bom.json 라이선스 승격과 "보존하되 추정하지 않는" 케이스 6건을 추가하고license-aliases.json픽스처를 확장했다. No-Docker로 17/17 통과.검증
tests/test-postprocess.sh17/17 통과tsc --noEmit통과mkdocs build --strictexit 0 (앵커 검증 활성화)