SimpleIsm

舞台裏は乱雑に、見えるところはシンプルに。

CSS Lintの警告文を訳してみた

CSS Lintの日本語訳。普通に書いたCSSだと問答無用で警告文が出る。やってられるか!

でもどういった理由でエラーが出るのかは知っておいて損はないと思うので、いくつか訳してみた。多分結構多くの人が遭遇する警告だと思う。何せ自分が遭遇した警告だしね!

原文 日本語訳
Disallow universal selector
The universal selector (*) is known to be slow.
ユニバーサルセレクタは禁止です
ユニバーサルセレクタ (*) は遅くなることが知られています。
Headings should only be defined once
Heading (h1, h2, h3, h4, h5, h6) has already been defined.
見出しは一度だけ定義されるべきです
見出し (h1, h2, h3, h4, h5, h6)はすでに定義されています。
Disallow qualified headings
Heading (h1, h2, h3, h4, h5, h6) should not be qualified.
見出しの修飾は禁止です
見出し (h1, h2, h3, h4, h5, h6) は修飾されるべきではありません。
Require fallback colors
Fallback color (hex or RGB) should precede RGBA color.
代替色の指定が必要です
RGBA指定の前に、代替の色指定 (16進数またはRGB) をした方が良いです。
Disallow IDs in selectors
Don’t use IDs in selectors.
セレクタにIDは禁止です
セレクタにIDを使用しないでください。
Disallow overqualified elements
Element is overqualified, just use #test without element name.
必要以上の要素名付加は禁止です
必要以上に要素名があります。要素名は付けず、IDのみもしくはCLASS名のみで使用してください。
ex.)div#hoge => #hoge
Disallow !important
Use of !important
!importantは禁止です
!importantが使用されています。
Parsing Errors
Expected RBRACE at line 123, col 456
パースエラー
Require use of known properties
Unknown property ‘hoge’.
きちんと定義されたプロパティが必要です
‘hoge’ というプロパティは定義されていません。

SSLを使っているサイトへのリンクのプロトコルをhttp:から書くかhttps:から書くか

リンク先がSSLを使っていることが分かっているとき、リンクのhref属性をhttp:から書くのと、https:と 「s」 を付けて書くの、どっちが正しいの?という話。

僕はhttp:から書くのが正しいと思っている。http:でアクセスしてもリンク先がSSLを使っていればhttps:になるし、例えばTwitterがSSLを使わなくなったら、https:でアクセスした場合、アクセスできなかったり、警告文が出たりといったリスクもあるし。

SSLを使っている場合
http://twitter.com/hoge
アクセスできる
https://twitter.com/hoge
アクセスできる
SSLを使っていない(使わなくなった)場合
http://twitter.com/hoge
アクセスできる
http://twitter.com/hoge
アクセス出来ないもしくは何かしらの不都合が起き得る

まぁそんなことはしないと思うけれども、そういった可能性もあるし、ならばhttp:でアクセスして、SSLとしてリクエストを返すかどうかは、そのリンク先に委ねた方が良いのではないかな、と思っている。CSSでの記述に関しても、相対パスや絶対パスで書けばSSLを使っているか使っていないかでプロトコルは決まるし(https://~のサイトから読み込むCSSは、画像パスが /hoge.png と指定してあれば https://~/hoge.png となる)。(プロトコルをhttp:で限定しているのは、リンク先がWWW(ハイパーテキスト? ハイパーメディア?)だと分かり切っているから。でもそれだと先ほどの「SSLを使っていると分かり切っているから」という理由と同じになるので、本当は//www.example.com/のようにスラッシュから書くのが正しいのだと思うけど、今回はhttp:に限定する。あとはhttps:のサイトからCSS内の画像パスなどをhttp:で記述すると警告文が出たりするみたいだけど(SSLページでブラウザにセキュリティ警告メッセージを出させないコツ « DRYOUT プログラマー社員のブログ)、それも今回は割愛。あくまで外部サイトにアクセスするときの話に限定する。)

…以上が何も調べないで漠然とそうだと思っていた(思い込んでいた)内容。

実際に調べてみた。というかみんなの小粋空間で大体答えが出てた。 => HTMLやCSSでのプロトコル表記(http:、https:)の省略について: 小粋空間

ただ、結局表題の「SSLを使っているサイトへのリンクのプロトコルをhttp:から書くかhttps:から書くか」どっちが正しいのか分からなかった。どっちも正しいのかな…。

とりあえずhttp://t.co/https://t.co/ともにTwitterへのリンクはhttp:からだった。