属性値の見方

各属性の右側に、その属性で可能な値のパターンを記載している。

仕様書には「これも文字列!あれも文字列!文字列万歳!」しか書いてないし、分かりにくいわ!ってなったので、オレオレ定義している。俺のリファレンスなので。

だいたい正規表現っぽい書き方だけど、そんなん知らんわ!っていう人が大半?だと思うので、軽く説明する。

単一のパターンの場合は[ほげ]という具合で、その種類の値を1つ指定する。例えばhoge属性の値の指定が[時間]の場合、hoge="02:34"のようになる。

特殊なケースでは(このかっこ)で囲んでいる。例えば(真偽値)の場合、hogeと属性値が無い。

例えばstylesheetといった具合にカッコが無い場合は、その値を指定する。例えばfuga属性の値の指定がstylesheetの場合、fuga="stylesheet"のようになる。

その他、使われているものの例をいくつか記載する。

属性値の種類

(真偽値)
属性値を指定しない(厳密には違うが)。属性の名前だけを指定する。例えばrequired属性はrequiredとだけ記載し、required="hogefuga"とは書かない。
(空欄)
hoge=""な感じ。
BASE64文字列
BASE64な文字列。文字列では表現できない、例えば画像のデータとかを文字列に変換して送る時に用いられる事がある。sXXD/nluT6AqhuVwL0IJqA==とか。 例えばこれも、BASE64の画像データ→ ソースを見てみると良い。

BASE64の仕様書

CSS
スタイルシート。color:redとかfont-family:serif;line-height:1.4;とか。厳密にはCSSに限らないが。
CSSの長さ
CSSの長さの単位を指定する。14vwとか20pxとかcalc(100% - 100px)とか。詳しくはCSS3の長さの単位の解説参照。
ID
文書内で一意のID。念の為だが、id属性で指定する値が一意であれば良くて、id属性を参照する側の属性の数はいくつあってもよい。

よくある半角英数でとかハイフンや数値で始まったらダメといった制約は無い。だいたい空白類以外は可能で日本語でも大丈夫。

MIMEタイプ
ファイルの種類。 例えばtext/plainはプレーンなテキスト文書、image/jpegはJPEGというフォーマットの画像、audio/mp3はMP3というフォーマットの音声。

MIMEの仕様書はこちら

URL
http://で始まるアレ。他ファイルへリンクする方法で少しURLの仕組みを解説している。URLじゃねーよURIだよとか突っ込んだら負け。

HTML5ではIRIも使えるようになったので、href="https://ja.wikipedia.org/wiki/ポプテピピック"もオッケー。

ウィンドウ名
ウィンドウまたはタブの名前。難しい言葉で言うとブラウザーコンテキストと言う。

HTML5の場合、例えばiframeでブラウザーコンテキストの中にブラウザーコンテキストを作れる。つまりiframeを入れ子にするとブラウザーコンテキストも入れ子になる。

任意のブラウザーコンテキストの名前を指定するが、以下の通りいくつか特殊な名前とルールがある。

  • _blank: 無名の新しいブラウザーコンテキスト。
  • _self: 自身のブラウザーコンテキスト。
  • _top: 一番祖先のブラウザーコンテキスト。親がなければそのブラウザーコンテキスト。
  • _parent: 親のブラウザーコンテキスト。親がなければそのブラウザーコンテキスト。
  • [文字列]: 対象の名前のブラウザーコンテキスト。無ければその名前のブラウザーコンテキストを新規に開く。名前は何でも大丈夫だが、_で始まってはいけない。
エンコード
文字のエンコード。

例えばコンピュータは「あ」という文字を表示するために、いちいち「あ」の文字のかたちを持っていたらデータ量が凄い事になるので、例えば3042というデータを「あ」という事にして遣り取りしている。

その決まりの種類がいくつかあって、UTF-8とかEUC-jpとかShift_JISなどがある。それがエンコード。昔は諸事情により色々なエンコードが使われていたが、今はだいたいUTF-8

エンコードの仕様はこちら

オートフィル
ブラウザがフォームフィールドに自動入力する際に、どういった入力であるかを示すヒントになる。これがちょっとややこしく、長たらしい上に指定する順序が決まっている。
  1. (任意)section-で始まる名前を付けて、オートフィルをグルーピングできる。送付先が複数ある場合にそれぞれグルーピングする等。
  2. (任意)以下をスペース区切りで追加できる。
    • shipping: 送付先
    • billing: 請求先
  3. 以下のいずれかを指定する。
    • 以下のいずれかを指定。
      • name: フルネーム
      • honorific-prefix: Mr.とかMs.とかDr.とか
      • given-name: 名
      • additional-name: ミドルネーム
      • family-name: 姓
      • honorific-suffix: 日本語だととか御中とか
      • nickname: ニックネーム
      • username: ユーザー名
      • new-password: アカウント作成フォームやパスワード変更フォームで既存でないパスワードフォーム。
      • current-password: ユーザー名から推測できる既存パスワードフォーム
      • organization-title: 肩書。上級副社長とか副専務理事とか。
      • organization: 社名
      • street-address: 番地と部屋番号
      • address-line1: 番地と部屋番号の1行目。番地だけの場合等。
      • address-line2: 番地と部屋番号の2行目。マンション名とか部屋番号とか。
      • address-line3: 番地と部屋番号の3行目。その他。
      • address-level4: 住所の4段階目。
      • address-level3: 住所の3段階目。
      • address-level2: 住所の2段階目。日本だと市区町村とか。
      • address-level1: 住所の1段階目。日本だと都道府県とか。
      • country: 国コード。USとかJPとか。ISO3166
      • country-name: 国名
      • postal-code: 郵便番号
      • cc-name: 請求先のフルネーム
      • cc-given-name: 請求先の名
      • cc-additional-name: 請求先のミドルネーム
      • cc-family-name: 請求先の姓
      • cc-number: 請求情報のコード。例えばクレジットカード番号。
      • cc-exp: 請求情報の有効期限。例えばクレジットカードの有効期限。
      • cc-exp-month: 請求情報の有効期限の月
      • cc-exp-year: 請求情報の有効期限の年
      • cc-csc: 請求情報のセキュリティコード
      • cc-type: 請求情報の種類。Visaとか。
      • transaction-currency: 通貨コード。日本円だとJPY。ISO4217
      • transaction-amount: 請求額
      • language: 言語。BCP47
      • bday: 誕生日。日付のフォーマット
      • bday-day: 誕生日の日
      • bday-month: 誕生日の月
      • bday-year: 誕生日の年
      • sex: 性別
      • url: 個人のホームページのURLとか
      • photo: 個人のアイコンとか
    • 以下の順に指定。
      1. (任意)以下のうちいずれかを指定できる。
        • home: 自宅
        • work: 職場
        • mobile: 携帯
        • fax: FAX
        • pager: ページャ
      2. 以下のいずれかを指定。
        • tel: 国コード付きのフルの電話番号
        • tel-country-code: 国コード。日本だと+81
        • tel-national: 国内の電話番号
        • tel-area-code: 市外局番
        • tel-local: 市外局番無しの電話番号
        • tel-local-prefix: 市内局番
        • tel-local-suffix: 市外局番/市内局番無しの電話番号
        • tel-extension: 内線番号
        • email: メールアドレス
        • impp: インスタントメッセンジャー。aim:とかirc://とかで始まるアレ。

例としては、section-ship1 shipping given-nameとか、billing home tel-nationalといった具合。

ただ、現在対応しているブラウザは無い。

スクリプト
だいたいJavaScript。
トークン
任意の文字列。だいたい空白類以外は可能。
メディアクエリ
screen and min-width:480pxとか。詳しくはMedia Queryの構文参照。
列挙型
値の一覧の中から1つ選択できる。選択できる値は属性の説明欄に記載されている。はず。
年月
2018-01とか0123-04とか。123-4とか2018-1とかはダメ。
年週
2017-W01(2017-01-02〜08相当)とか0123-W12(0123-03-22〜28相当)とか。
拡張子
ファイルの拡張子。pngとかhtmlとかmp3とか。
数値
正でも負でも良い数値。-1-100.0200.123520.081000000
整数
正でも負でも良い整数。0100-123410000
文字
1文字。だいたい数値かアルファベットなら問題ない。
文字列
空白類も含めた任意の文字列。(ほぼ)何でも良い。
日付
年月日。2018-09-10とか0123-04-05とか。123-04-05とか2018-4-5とかはダメ。
日時
[日付](T| )[時間][時差]0037-12-13 00:00Z1979-10-14T12:00:00.001-04:008592-01-01T02:09+02:09といった感じ。
時差
UTCを示すZか、プラスかマイナスと時と分。日本なら+09:00。その他、+02:09とか-04:00とか。
時間
01:02:03.456とか12:34:56とか12:34とか。1:23とか14:5とかはダメ。
正の数値
0.12345とか3.14とか0.000001とか1000000とか
正の整数
1とか2とか3とか100とか1000000とか
正規表現
実は値の欄もこれっぽいのを使って表現しているんだけど、詳しく説明するとすごく時間がかかるので、検索する等して他で勉強してね。
空白類
よく出てくるが、だいたい、半角スペース、タブ、改行の事。だいたい何個あっても1個にまとめられたり無かった事にされたりする切ないやつら。
シャープ記号で始まって6桁の16進数。黒だと#000000、赤だと#ff0000
言語コード
ja-JPとかenとかfrとか。言語コードの仕様はここ