背景
style.css に stylelint の no-descending-specificity を有効化する過程で、実害のあるバグを2件発見・修正した(詳細度差でヘッダーのドロップダウンリンクのfont-size指定が無視されていた/mermaid図のコントロールボタンでopacity:1に到達できなかった)。
残りの違反はすべて実害のないfalse positiveだったが、コメントで抑制すると数が多く可読性を損なうため、構造的な解消を進めている。
すでに実施した対応
style.css を全ページが共有していたため、別ページ専用のセレクタ同士(.package-relation と .outbound-interface など)が同一ファイル内で偶発的に比較されていた。ページごとにCSSファイルを分離(common.css + ページ固有CSS)することで、ページをまたぐ偽陽性を解消した。これにより抑制コメントは41件から22件に削減された。
残課題
残る22件は同一ページ内・同一CSSファイル内での
- 意図的な上書き(例:
.sidebar--collapsed での非表示化、.tab-content-section 配下のテーマ切り替え)
- 別のDOM subtree同士の偶然の詳細度一致(例: サイドバー設定パネル vs 用語カードのsummary)
に起因しており、いずれも stylelint-disable/stylelint-enable で理由を明記して抑制している。
1についてはカスケードレイヤー(@layer)への移行で解消できる見込み。2はDOM構造上そもそも共存しないセレクタの偶然の一致であり、コメントでの説明以上の対応は不要と考えている。
サブissue
Created by Claude Code.
背景
style.cssに stylelint のno-descending-specificityを有効化する過程で、実害のあるバグを2件発見・修正した(詳細度差でヘッダーのドロップダウンリンクのfont-size指定が無視されていた/mermaid図のコントロールボタンでopacity:1に到達できなかった)。残りの違反はすべて実害のないfalse positiveだったが、コメントで抑制すると数が多く可読性を損なうため、構造的な解消を進めている。
すでに実施した対応
style.cssを全ページが共有していたため、別ページ専用のセレクタ同士(.package-relationと.outbound-interfaceなど)が同一ファイル内で偶発的に比較されていた。ページごとにCSSファイルを分離(common.css+ ページ固有CSS)することで、ページをまたぐ偽陽性を解消した。これにより抑制コメントは41件から22件に削減された。残課題
残る22件は同一ページ内・同一CSSファイル内での
.sidebar--collapsedでの非表示化、.tab-content-section配下のテーマ切り替え)に起因しており、いずれも
stylelint-disable/stylelint-enableで理由を明記して抑制している。1についてはカスケードレイヤー(
@layer)への移行で解消できる見込み。2はDOM構造上そもそも共存しないセレクタの偶然の一致であり、コメントでの説明以上の対応は不要と考えている。サブissue
Created by Claude Code.