JIS X 8341-3:2004 のメモ
JIS X 8341-3:2004 のメモです。とりあえずつまらないツッコミしか書いてありませんし、図表の引用もしていないので規格票を見たことがない人には何に突っ込んでいるのかすら分からない可能性がありますが、こだわらずにメモしておきます。
よた話的感想
- 規格表が有料というのがそもそもどうなのでしょう。この時点で多くの人が規格規格票にアクセスしませんし、議論しようにも規格表を参照できる人の母数が少なければ盛り上がるはずもなく……。
- しかも規格協会のサイトはアクセス性が最低だったりしませんか?
- といっても、話題になるような斬新な規定があるわけでもないので、フリーでアクセスできたとしても盛り上がらないかも。
- ディープリンク禁止を禁止する規定が採用になっていれば話題になったと思います。
不明点・疑問点・ツッコミの類
5.2.e) の例
HTML では, head要素の中に title要素を用いてページ固有の名称をつける。さらに, マーク付けすることが望ましい。
「さらに, マーク付けする」というのが何を言っているのか全く分かりません。既に title要素としてマーク付けされているものに対して、さらに何らかのマーク付けをするということでしょうか? title要素の内容は #PCDATA で、別のマークを入れることは出来ませんが……。
5.3.b) の例2 の参考
全角又は半角のどちらで入力すべきかを明示されていない例。音声ブラウザで読み上げたときには, どちらで入力すべきなのか理解できない。
この例では何も書かれていないのですから、音声ブラウザでなくてもどちらで入力すべきか理解できないと思いますが。
またこの例に限りませんが、全角で入力してもシステム側で勝手に半角に変換することはできるはずです。そういうシステムであれば、特に全角・半角の注意は必要ないでしょう。
※実は漢数字すら自動で半角数字に変換するシステムも存在します。
5.3.b) の例3
電話番号(ハイフンを入力) 例:000-0000
例の桁数が中途半端なので混乱を招きそうです。例は 7桁でハイフンが一つしかありませんので、市外局番を除いて入力しろと言っているようにも思えます。この点がテキストで明確になっていないため混乱します。
市外局番が必要なら 000-000-0000 のようにするべきですし、市外局番を入れないならその旨を書く必要があるでしょう。良い例とは言えないと思います。
5.3.b) の例4 図14
「大洋州」と言われて何のことか分かりますか? 「オセアニア」の方がまだ通じそうですが、それでもまだわかりにくいと思います。この例の場合は、分割したことによってわかりにくくなっているだけのような気がしますが……。
さらに、右側のメニューが左側に連動するためにはスクリプトが必要です。スクリプト無効環境で問題が発生する可能性があります。
5.3.d)
間違いとまでは言えませんが、普通、セッションタイムアウトによるログアウトは、ログインしてから一定期間でログアウトするというものではなく、一定時間操作がないとログアウトするという形になります。そうしておかないと、普通に支障が出ますので……。
たいていのシステムではアクセスさえあればタイムアウトまでの時間が延長されます。それはフォームの POST でも構いませんので、フォーム入力の途中でこまめに submit すれば時間を延長できます。確認・修正フォームがあれば submit して修正、submit して修正と繰り返せばセッションの維持が可能です。これは技の一つとして知っておくと良いかも。
5.3.g) 例3 図18
右側の例でも、テキストの部分まで含めてアンカーにしてあればさほど問題ないと思います。
テキスト部分がアンカーになっていない例のつもりなのかもしれませんが、図からはそこまで読み取ることができません。
5.3.g) 例4 図19
そもそも、隣接するアンカーで失敗するケースには二種類の問題が存在しています。
- アンカーが複数あることを認識しているが、うまく操作できないため目的とは異なるアンカーをクリックしてしまう。
- アンカーが複数あるということに気づいていない (一つのアンカーが改行しているように見えてしまっている)。
前者の場合、問題なのは距離よりも大きさの方でしょう。アンカー同士が離れていても、アンカー自体が小さければ、何もない場所をクリックして失敗するだけです。アンカー同士が密着していても、アンカーが十分に大きければクリックできるはずです。
後者の場合は、単純に見せ方の問題です。間隔を空けるのも一つの方法ですが、他の方法もあるでしょう。たとえば上下にアンカーが並んでいる場合、それぞれのアンカーの頭にリストマークをつけるだけで別々のアンカーに見えるようになるでしょう。左右に並んでいる場合は、アンカーの間にアンカーでない文字を挟めば良いでしょう。
5.9.a) 例1
日本語の HTML 文書においては, HTML要素の lang属性で第一言語 "ja" を指定し, 文字コードを META要素によって指定する。
なぜここだけ要素名が大文字なのでしょうか。大文字で「HTML要素」と書かれると、「HTMLの仕様で定義されている要素」という意味で使われているようにも読めてしまいますが……。
また、「第一言語」とは何でしょう。UA 側が送る Accept-Language になら優先順位の概念がありますが、コンテンツの言語については言語コードを一つしか設定できませんので、第一、第二という概念はありません。サーバ側のコンテント・ネゴシエーションで複数言語を提供することも出来ますが、それは html要素の lang属性とは関係ありません。
そしてもちろん、文字符号化方式を meta要素で指定することはお勧めできません。インターネット上のリソースであれば、HTTP 応答ヘッダの Content-Type フィールドに charset パラメータを付与することで指定しなくてはなりません。そして、それだけで十分です。ローカルのコンテンツであれば meta で指定しても良かろうと思いますが、規格が想定するのは主にインターネット上のリソースなのではないかと思います。
附属書1 2.1.b) 参考
marquee要素が "文字をスクロールさせる" 要素であることをユーザーエージェントが解釈しないため, 文字は, スクロールしないので, "文字をスクロールさせたい" という制作者の目的が伝わらない。
"文字をスクロールさせたい" という目的が伝わる必要があるのなら正しいでしょう。しかし、そんなケースはほとんどないはずです。それを言うなら、「文字を赤くしたい」という目的はカラー表示が出来ない場合には伝わらないので、文字を赤くする表現は使ってはならないという事になってしまいます。
要は情報が伝わっていれば良いはずです。文字がスクロールしていても、スクロールしていなくても、テキストが読めてさえいれば問題ないでしょう。marquee が「解釈されない」ことによって問題を起こす可能性はほとんど無いと思いますが、解釈されてしまった場合はテキストが動いてしまい、読めなくなる人が出てくる可能性があります。解釈されない方が問題が起きにくいでしょう。
- 「JIS X 8341-3:2004 のメモ」にコメントを書く