Hatena::Groupweb

vantguarde

6.8

CSS ― CSS 2.1, CSS3 Color, Selectors Lv. 3

| 03:36

はい。

W3C, the standards body for the suite of technologies that together provide an Open Web Platform for application development, today announced new levels of support for Cascading Style Sheets (CSS), the language for adding style to Web content. W3C released an update to the core CSS standard (2.1) to reflect the current state of support for CSS features, and to serve as the stable foundation for future extensions.

CSS 2.1とCSS3 Colorが勧告になりました。

今更といえばそうかもしれませんが、デファクト標準としては極めて理想的とも言えるんじゃないでしょうか。もっとも、デファクト標準ですから、interoperabilityを損なうものはCSS3に持ち越して未定義にするなど結構苦しい部分はあったりします。HTML5も現在のW3C Processが維持されるのであれば、勧告前には似たようなことになるのかなあと。

さて、プレスリリースを読んでいて気づいたのが、Selectorsが勧告されてません。もしかするとISSUE-88が絡んでるのかもですが、さっぱり分かりません。あ、これの詳細についてはAnneのエントリをどうぞ。

なんだろう。まあ、いいか。おめでとうございます。

12.2

正統なお尻PとHTML5のDOM構築とWebKitのoverflowと

| 20:17

ふむふむ。

イベントは面白いだろうということでさておいて、気になったのは小久保さんのプロフィールでスクロールバーが出るというのをタイムラインでちらほら見たこと。いまChrome 9で見てるんですが、たしかに出てますね。

ソースはこんな風になってます。

<div class="profile" id="kokubo">
<h4><img … />小久保 浩大郎<span ...></h4>
<p><a href="http://nodot.jp/">nodot</a><br />
フロントエンドアーキテクト</p>
<p>...</p>
<p>...</p>
</ul>
</p>
</div>

最後に</ul></p>なものが入っちゃってるんですね。正統なお尻Pですね。たぶん、高津戸さんのプロフィールをコピーしたときのleftoverなんでしょう。

この</ul></p>がどうなるかですが、HTML5ではin bodyのinsertion modeあたりに書いてあります。</ul>

If the stack of open elements does not have an element in scope with the same tag name as that of the token, then this is a parse error; ignore the token

の条件にマッチするので、無視されます。</p>も基本はparse errorではあるんですが、

If the stack of open elements does not have an element in button scope with the same tag name as that of the token, then this is a parse error; act as if a start tag with the tag name "p" had been seen, then reprocess the current token

なのでこの前に<p>があるものとして解釈され、結果的にp要素が挿入されると。

結果として、</ul></p>のところが<p></p>に置き換わる感じです。なんでこんなトリッキーなことをやってるのかは定かではないですが、たぶんTridentの挙動に合わせたとかそんなんじゃないかなと予想してます。

ふう。で、どうやらこの中身のないpoverflow: autoに反応してるようです。なぜoverflow: autoかけてるのかCSSちゃんと見てないんでよくわかんないんですが、要素を取ったりすると問題ないという。

font-size: 0を与えたり、中にテキストを突っ込むとスクロールバーが出なくなります。overflow: autoの挙動はUA依存なので正しい挙動なんてものはないんですが、テキスト突っ込んだりすると消えたりしますし、WebKitのバグなんですかねえ。ううむ。

12.11

State of the Browsable Web 2009: CSS3 Namespaces

| 01:13

今回はXHTML以外のXMLや複合文書にCSSを書かない限りはお世話にならなそうなCSS3 Namespaceです。なのでBrowsable Webに入るかというとそうでもないような気がしますが、ちょっと面白い話題があったのでこだわらず行きましょう。

仕様の現時点でのステータスはCRですが、長年実装もあるモジュールです。2月にはImplementation Reportが作成され、PRへの準備が始まりました。

「各機能に対して2つ以上の実装」という要件を満たさないと基本的には勧告できない*1わけなんですが、ひとつだけそれを満たせないテストがありました。syntax-013.xmlです。そして、このテストについてDavid Hyattが質問を投げたんですね。

該当箇所は次の通り。style要素に、閉じられていない@namespace x "textなる宣言もどきがあります。

<style>
 t, t2, t3, t4, t5 { background:red }
</style>

<style id="a">@namespace x "test</style>
<script>
 document.getElementById("a").sheet.insertRule("x|t2 {background:lime }", 1)
</script>

<p><t2 xmlns="test">This sentence should have a green background.</t2></p>

A syntactically invalid @namespace rule (whether malformed or misplaced) must be ignored.* と仕様にあるので、これは無視されnamespaceの宣言が無効になるのではないかと。すなわちテストが誤りではないかとの指摘です。

ところが、これ仕様通りなんですね。

Unless the stylesheet processor is required to magically fix up the missing closing quote.

It is. See http://www.w3.org/TR/CSS21/syndata.html#parsing-errors the "Unexpected end of style sheet" bullet.

Re: Agenda+ CSS Namespaces implementation report

はい。見てみましょうか。

User agents must close all open constructs (for example: blocks, parentheses, brackets, rules, strings, and comments) at the end of the style sheet. For example:

  @media screen {
    p:before { content: 'Hello

would be treated the same as:

  @media screen {
    p:before { content: 'Hello'; }
  }

in a conformant UA.

Rules for handling parsing errors ― Unexpected end of style sheet (CSS 2.1)

なあんと。スタイルシートの終わりに達してもまだ何かが開いた状態の場合は、それを閉じるエラー処理が定義されてるんですねー。そういえばそんなのありましたねー

というわけで、指摘されていたstyle要素は@namespace x "textのみで終了してるので、そこでエラー処理が働いて@namespaceが解釈されるようになります。こういう話だったんですね。

という感じで、そういうことになるようです。むつかしいですねー

で、いろいろ手の早いWebKitは早速修正しましたとさ。

ちゃんちゃん。CSS 2.1の話になってしまった感がありますが、まあ。

*1:実はSHOULDだったりする

11.30

State of the Browsable Web 2009: CSS 2.1

| 20:40

2009年11月下旬時点の、CSS 2.1のステータスです。2008年12月のもあります。

まず、今年の振り返りからいきましょう。2007年に何度目かのCRになったCSS 2.1ですが、4月と9月にそのCRが更新されました。

更新の理由ですが、4月のはErrataを空にしたかったというもの。9月のは、Media Queriesとの絡みで文法の修正が必要だったからになります。

さて、今後の予定はどうなっているのかというと、Bert Bosとfantasaiが9月に出したメールが参考になります。

The next publication of CSS 2.1 might be a brief return to a "last call" working draft, followed by the long awaited Proposed Recommendation. But no date has been set for that.

Update of the CR of CSS 2.1

My understanding is that the major items holding up CSS 2.1 progress have been creation of interoperable implementations and creation of test suites. Do those continue to be issues for progress of CSS 2.1?

Yes, that is exactly the holdup for CSS 2.1. The spec is quite stable, and we're mostly maintaining it via an errata-like process at this point. But to become a full W3C Recommendation it does need a test suite and two interoperable implementations, and we don't have those yet. (And, like pretty much anything else in the software world, people do keep finding errors in the spec.)

Re: Status of CSS 2.1 and Print Profiles

「たぶん一度Last Callに戻って、その後Proposed Recommendationになる」「いつになるか分からないけど、安定はしてる」と。いつもの通りですね。

とはいえ、4月のCR更新以降もIssues Listには項目が増え続けてます。

これらはどう対処するのでしょうか。エラーのない仕様なんてものはないわけで、どこかで打ち切って勧告した後に対処するほうが現実的でしょう。

さてどこで切るかですが、テストのスケジュールがあるのでそこから考える事ができそうです。

Resolved: New (more realistic) deadline for test submission for CSS2.1 is 15 Jan 2010. After this deadline submitted tests will be accepted for interop testing, but not for the CR->PR test reports.

Resolved: After 15 Jan 2010, each vendor must run all submitted tests in the test suite and report back on any problems with the tests. The deadline for the first iteration of this is 15 February 2010. The deadline for the second iteration is 15 March 2010. After this audit step we will start building implementation reports.

CSS2.1 Testing Roadmap / Minutes and Resolutions 2009-09-23

2010年1月15日までにテストを集めて、1/15~2/15, 2/15~3/15の期間で計2回テストを行うと。その後Implementation reportを作成し、PRに行くとか行かないとかそういう判断をすると。

先月のF2Fの段階では“Still on track wrt roadmap”とのことなので、まだ遅れてはいないようです。現CSSWGの活動期限が2010年11月末なので、それまでになんとかしたいのでしょう。

予想ですが、テストでカバーできてないIssueがある場合は、それらをErrataとして勧告には影響しないものとして扱うこともあるのかなと思います。あと、interoperabilityのない定義は“undefined in level 2”とでもして、CSS3にまわすことも増えるのではないかなと。これ以上進行がブロックされるのは、建設的ではないですからね。。

ぜえぜえ。続くよ。

4.24

CSS 2.1とMedia Queriesでたよ

| 00:55

さて、こっちも結構(というかかなり?)大きいですね。CSS 2.1のCRが更新されました。ついでにMedia QueriesもCRに復帰しました。

Media Queriesはいいとして、CSS 2.1がなんで更新されたかなんですが、これ結構前に決まってたんですね。

Resolved: Publish new CR of CSS2.1 once pending edits have been made and verified.

Minutes and Resolutions 2009-02-11

前のCRのerrataがふくれすぎたので、WG的にもブラウザーベンダー的にも開発者的にもよくないだろうという意図があったようです。

そうそう、ちょっとCSS 2.1のshortnameを見てください。これまでは「CSS21」だったんですが、今回のCRから今まではCSS 2.0を指してた「CSS2」になってます。The CSS2.1 specification defines CSS Level 2.*というくだりがcss-beijingにあったわけですが、ようやくそうなったと。CSS 2.0はいらないこってことですね。

Contact: @vant / lepetitcroissant@gmail.com.