Skip to content

Instantly share code, notes, and snippets.

@MurakamiShinyu
Last active December 30, 2023 06:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MurakamiShinyu/e8fa4bb1cbf43c2cec5d47427f8fad1f to your computer and use it in GitHub Desktop.
Save MurakamiShinyu/e8fa4bb1cbf43c2cec5d47427f8fad1f to your computer and use it in GitHub Desktop.

EPUBリーダーのCSS仕様適合性チェックリスト

はじめに

最新のEPUB仕様であるEPUB 3.3では、「EPUB 3は、CSS Snapshot で定義されたCSSをサポートする」と明記されている(§1.3.3 Relationship to CSS)。いくつかの -epub- 接頭辞付きのCSSプロパティは後方互換性のために残されてはいるが、「EPUB制作者は接頭辞なしのプロパティを使用するべきで、リーディングシステムは現行のCSS仕様をサポートするべき」、「Working Groupは、EPUBの次のメジャーバージョンでこれらの接頭辞付きプロパティをサポートする見込みがないため、現在これらの接頭辞付きプロパティを使用しているEPUBクリエーターは、サポートが可能になり次第、接頭辞なしバージョンに移行することを推奨する」とのことである($6.3.1.3 Prefixed properties)。

それでは各社のEPUBリーディングシステムが現行のCSS仕様をどれだけサポートしているのか、-epub- 接頭辞付きプロパティはもう使わなくてよいのか、気になるところである。そこで、CSS Snapshot 2023 でCSSの公式的な定義とされているCSSモジュールを中心にチェックリストを作成した。

CSSの公式的な定義に含まれるCSSモジュール

「2023年現在の CSS ( Cascading Style Sheets )は、 以下に挙げる仕様で定義される」(CSS Snapshot 2023 - §2.1. Cascading Style Sheets (CSS) — The Official Definition

かなり安定しているが実装経験が限定的なCSSモジュール

「以下のモジュールは設計作業が完了し、かなり安定しているが、まだテストと実装の経験があまりない」(§2.2. Fairly Stable Modules with limited implementation experience

大まかな相互運用性のあるCSSモジュール

「以下のモジュールは、大まかな相互運用性を確保した上で広く展開されているが、その詳細は十分に練られておらず、また十分な仕様もないため、さらなるテストとバグ修正が必要」 ( §2.3. Modules with Rough Interoperability

CSS Snapshot 2023 に載っていないが、最新のブラウザで利用できるもの

  • Selectors Level 4
    • :is() 擬似クラス
    • :where() 擬似クラス
    • :has() 擬似クラス
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment