FlexboxがLCに: プロパティ名などもろもろ変更

タイトルの通りで、FlexboxのLCが公開。

LCは喜ばしいんだけど、なんせTabせんせやfantasaiせんせがEditorなので、政情不安定というか変なところで変更が毎回ある。

というわけで、今回はプロパティ名や値が変わった。計画だったようだけれど。

これまでかわったの
flex-align align-items
flex-item-align align-self
flex-line-pack align-content
flex-pack justify-content
flex-order order
flex-pack: start
flex-pack: end
justify-content: flex-start
justify-content: flex-end
display: flexbox
display: inline-flexbox
display: flex
display: inline-flex

一部のプロパティがalign-*となってるけれど、これはBox Alignmentというモジュールのプロパティに移して、FleboxではFlexboxに関係する値を追加するかたちにしたから。

で、仕様が変わるだけならまだいいんだけど、WebKitのほうですでに名前が変更されている。

そしてもうChrome 21から取り込まれている。エイリアスもないようなので、pre-LCWDバージョンのプロパティを使ってる場合は書き換えるなりしないといけない。エイリアスがないのはなんでだろう。Safariが実装してないからかな。

しかし『古い』「あたらしいFlexbox」を実装しているIE10は、だいぶタイミング悪くRC的なフェーズに入ってしまった。ふつうに考えると、RCからの変更は望めない。うーん。

それで、「あたらしいFlexbox」がふたつできてしまので、Modernizrでどうしようかって話をしている。さすがにModernizr.flexboxnewlegacyとか導入するのはねえ。

SafariがWD版のFlexboxをリリースしたらさらにカオスになるけど、どうなんだろう。

追記 (2012-06-15)

Modernizrでは、flexWrapをチェックするように変更。pre-LCWDとLCWDのバージョンを見分ける必要性があるのかってところから、LCで変わってないプロパティを選んでチェックすることに。

追記 (2012-07-10)

orderがさらに別の名前に変わることになった。

orderはその名前通り順序に影響するプロパティだけれど、変わるのは視覚的な順序であって、タブフォーカスの順序や読み上げの順序には影響しないというのが理由。

追記 (2013-08-12)

おおっと、追記&編集してなかった。
結局その後すぐ、orderはそのままになることが決まった。

Resolved: For Issue 4 the order property is not renamed to better indicate that it only affects visual rendering (and not speech or tab-order) because it’s too late in the process and the WG doesn’t know of a significantly better alternative.

理由として、あくまで見た目の順序を変えるだけで、読み上げ順序やタブのフォーカス順序には影響しないこと、そして、もうプロセス的に遅い段階に入ってるし、いい名前も思いつかないからと。前者はなんかとってつけた理由な感じだ……