Living Standard — Last Updated 13 November 2024
この仕様は、パンくずナビゲーションメニューを記述する機械可読な方法を提供しない。著者は単に段落で一連のリンクを使用するよう推奨される。nav
要素は、ナビゲーションブロックであるとして、これらの段落を含むセクションをマークするために使用できる。
次の例において、現在のページは2つの経路を経由して到達できる。
< nav >
< p >
< a href = "/" > Main</ a > ▸
< a href = "/products/" > Products</ a > ▸
< a href = "/products/dishwashers/" > Dishwashers</ a > ▸
< a > Second hand</ a >
</ p >
< p >
< a href = "/" > Main</ a > ▸
< a href = "/second-hand/" > Second hand</ a > ▸
< a > Dishwashers</ a >
</ p >
</ nav >
この仕様は、ページのグループ(タグクラウドとも呼ばれる)に適用するキーワードのリストをマークアップするための特別な任意のマークアップを定義しない。一般に著者は、非表示およびスタイルシートを使って見栄え効果をだす明示的なインラインのカウントをもつul
要素を使用してこのようなリストをマークアップする、またはSVGを使用することのいずれかを推奨される。
ここで、3つのタグは短いタグクラウドに含まれる:
< style >
. tag-cloud > li > span { display : none ; }
. tag-cloud > li { display : inline ; }
. tag-cloud-1 { font-size : 0.7 em ; }
. tag-cloud-2 { font-size : 0.9 em ; }
. tag-cloud-3 { font-size : 1.1 em ; }
. tag-cloud-4 { font-size : 1.3 em ; }
. tag-cloud-5 { font-size : 1.5 em ; }
@ media speech {
. tag-cloud > li > span { display : inline }
}
</ style >
...
< ul class = "tag-cloud" >
< li class = "tag-cloud-4" >< a title = "28 instances" href = "/t/apple" > apple</ a > < span > (popular)</ span >
< li class = "tag-cloud-2" >< a title = "6 instances" href = "/t/kiwi" > kiwi</ a > < span > (rare)</ span >
< li class = "tag-cloud-5" >< a title = "41 instances" href = "/t/pear" > pear</ a > < span > (very popular)</ span >
</ ul >
それぞれのタグに関する実際の頻度は、title
属性を用いて説明する。CSSスタイルシートは、異なるサイズの単語のクラウドにマークアップを変換するために提供されるが、CSSをサポートしないか視覚系でないユーザーエージェントのために、頻度によって様々なタグを分類するためにマークアップは"(popular)"または"(rare)"のような注釈を含む。したがって、すべてのユーザーが情報の恩恵を受けることが可能となる。
順序は特に重要でないので、(ol
よりむしろ)ul
要素が使用される。リストは実際にはアルファベット順である一方で、タグの長さによって並べられる場合に同じ情報を伝えるだろう。
ページ自体に適用するタグを表すものではないため、tag
のrel
キーワードはこれらa
要素で使用されない。これらはタグ自体をリスト化するインデックスの単なる一部である。
この仕様は、ミーティング議事録、チャット記録、脚本における対話、インスタントメッセージログ、および様々なプレーヤーが交代で談話する他の状況を満たし、会話をマークアップするための特定の要素を定義しない。
代わりに、著者はp
要素や句読点を使って会話をマークアップすることを推奨する。スタイリング目的のために話者を印をつける必要がある著者は、span
またはb
を使用するよう推奨される。i
要素に包まれたテキストを含む段落は、ト書きをマークアップするために使用できる。
この例は、AbbotとCostelloの有名なスケッチ、Who's on firstからの抽出物を用いてこれを示す:
< p > Costello: Look, you gotta first baseman?
< p > Abbott: Certainly.
< p > Costello: Who's playing first?
< p > Abbott: That's right.
< p > Costello becomes exasperated.
< p > Costello: When you pay off the first baseman every month, who gets the money?
< p > Abbott: Every dollar of it.
以下の抜粋は、インスタントメッセージの会話ログが、行ごとのUnixタイムスタンプを提供するためにdata
要素を使用して、マークアップする方法を示す。タイムスタンプは、time
要素が対応していない形式で提供されており、よってdata
要素が(すなわち、Unixのtime_t
のタイムスタンプ)代わりに使用されることに注意されたい。著者は、time
要素でサポートされる日付と時刻のいずれかを使用してデータをマークアップすることを望んだが、その要素は、data
の代わりに使用されていたかもしれない。データ分析ツールがページの著者と調整することなく、明確にタイムスタンプを検出することを可能にするので、これは都合がよいかもしれない。
< p > < data value = "1319898155" > 14:22</ data > < b > egof</ b > I'm not that nerdy, I've only seen 30% of the star trek episodes
< p > < data value = "1319898192" > 14:23</ data > < b > kaj</ b > if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
< p > < data value = "1319898200" > 14:23</ data > < b > egof</ b > it's unarguably
< p > < data value = "1319898228" > 14:23</ data > < i > * kaj blinks</ i >
< p > < data value = "1319898260" > 14:24</ data > < b > kaj</ b > you are not helping your case
HTMLは、グラフをマークアップするための良い方法を持たないので、ゲーム由来の対話的な会話の記述をマークアップするのはより困難である。この例は、会話の各時点での可能な応答を列挙するためにdl
要素を用いて1つの可能な規則を示す。考慮すべきもう1つのオプションは、DOTファイル形式で会話を記述するものであり、文書内に配置するSVG画像として結果を出力している。[DOT]
< p > Next, you meet a fisher. You can say one of several greetings:
< dl >
< dt > "Hello there!"
< dd >
< p > She responds with "Hello, how may I help you?"; you can respond with:
< dl >
< dt > "I would like to buy a fish."
< dd > < p > She sells you a fish and the conversation finishes.
< dt > "Can I borrow your boat?"
< dd >
< p > She is surprised and asks "What are you offering in return?".
< dl >
< dt > "Five gold." (if you have enough)
< dt > "Ten gold." (if you have enough)
< dt > "Fifteen gold." (if you have enough)
< dd > < p > She lends you her boat. The conversation ends.
< dt > "A fish." (if you have one)
< dt > "A newspaper." (if you have one)
< dt > "A pebble." (if you have one)
< dd > < p > "No thanks", she replies. Your conversation options
at this point are the same as they were after asking to borrow
her boat, minus any options you've suggested before.
</ dl >
</ dd >
</ dl >
</ dd >
< dt > "Vote for me in the next election!"
< dd > < p > She turns away. The conversation finishes.
< dt > "Madam, are you aware that your fish are running away?"
< dd >
< p > She looks at you skeptically and says "Fish cannot run, miss".
< dl >
< dt > "You got me!"
< dd > < p > The fisher sighs and the conversation ends.
< dt > "Only kidding."
< dd > < p > "Good one!" she retorts. Your conversation options at this
point are the same as those following "Hello there!" above.
< dt > "Oh, then what are they doing?"
< dd > < p > She looks at her fish, giving you an opportunity to steal
her boat, which you do. The conversation ends.
</ dl >
</ dd >
</ dl >
一部のゲームにおいて、会話はより単純である。各文字は単に、彼らがいうことを固定された行の集合を持つ。この例において、ゲームのFAQ/チュートリアルは、各文字の既知の可能な応答の一部を示す:
< section >
< h1 > Dialogue</ h1 >
< p >< small > Some characters repeat their lines in order each time you interact
with them, others randomly pick from amongst their lines. Those who respond in
order have numbered entries in the lists below.</ small >
< h2 > The Shopkeeper</ h2 >
< ul >
< li > How may I help you?
< li > Fresh apples!
< li > A loaf of bread for madam?
</ ul >
< h2 > The pilot</ h2 >
< p > Before the accident:
< ul >
< li > I'm about to fly out, sorry!
< li > Sorry, I'm just waiting for flight clearance and then I'll be off!
</ ul >
< p > After the accident:
< ol >
< li > I'm about to fly out, sorry!
< li > Ok, I'm not leaving right now, my plane is being cleaned.
< li > Ok, it's not being cleaned, it needs a minor repair first.
< li > Ok, ok, stop bothering me!Truth is, I had a crash.
</ ol >
< h2 > Clan Leader</ h2 >
< p > During the first clan meeting:
< ul >
< li > Hey, have you seen my daughter?I bet she's up to something nefarious again...
< li > Nice weather we're having today, eh?
< li > The name is Bailey, Jeff Bailey. How can I help you today?
< li > A glass of water?Fresh from the well!
</ ul >
< p > After the earthquake:
< ol >
< li > Everyone is safe in the shelter, we just have to put out the fire!
< li > I'll go and tell the fire brigade, you keep hosing it down!
</ ol >
</ section >
HTMLは、脚注をマークアップするための専用のメカニズムを持たない。ここで提案する選択肢がある。
短いインライン注釈の場合、title
属性を使用することができる。
この例において、対話の2つの部分は、title
属性を使用して脚注のようなコンテンツで注釈付けされる。
< p > < b > Customer</ b > : Hello! I wish to register a complaint. Hello. Miss?
< p > < b > Shopkeeper</ b > : < span title = "Colloquial pronunciation of 'What do you'"
> Watcha</ span > mean, miss?
< p > < b > Customer</ b > : Uh, I'm sorry, I have a cold. I wish to make a complaint.
< p > < b > Shopkeeper</ b > : Sorry, < span title = "This is, of course, a lie." > we're
closing for lunch</ span > .
不幸なことに、title
属性に依存することは、多くのユーザーエージェントがこの仕様で要求されるようなアクセス可能な方法で属性を公開しないため、現在推奨されない(たとえば、ツールチップを出現させるマウスなどのポインティングデバイスが必要になり、これはモダンな携帯端末やタブレットをもつ人のような、キーボードのみのユーザーとタッチのみのユーザーを締め出す)。
title
属性が使用される場合、属性をもつ要素への読者の関心を引き出すためにCSSを使用することができる。
たとえば、次のCSSは、title
属性を持つ要素の下に破線を置く。
[title] { border-bottom : thin dashed; }
より長い注釈の場合、後で文書の要素を指すよう、a
要素が使用されるべきである。リンクのコンテンツが角括弧内の数字であるのが慣例である。
この例において、対話における脚注は、ダイアログの下の段落にリンクする。段落は、ユーザーが脚注の場所に戻ることができるように、対話へ相互にリンクする。
< p > Announcer: Number 16: The < i > hand</ i > .
< p > Interviewer: Good evening. I have with me in the studio tonight
Mr Norman St John Polevaulter, who for the past few years has been
contradicting people. Mr Polevaulter, why < em > do</ em > you
contradict people?
< p > Norman: I don't. < sup >< a href = "#fn1" id = "r1" > [1]</ a ></ sup >
< p > Interviewer: You told me you did!
...
< section >
< p id = "fn1" >< a href = "#r1" > [1]</ a > This is, naturally, a lie,
but paradoxically if it were true he could not say so without
contradicting the interviewer and thus making it false.</ p >
</ section >
サイドノートに対して、単に特定の単語や文よりもテキストのセクション全体に適用されるより長い注釈の場合、aside
要素を使用すべきである。
この例では、サイドバーはそれにいくつかの文脈を与えて、対話の後に与えられる。
< p > < span class = "speaker" > Customer</ span > : I will not buy this record, it is scratched.
< p > < span class = "speaker" > Shopkeeper</ span > : I'm sorry?
< p > < span class = "speaker" > Customer</ span > : I will not buy this record, it is scratched.
< p > < span class = "speaker" > Shopkeeper</ span > : No no no, this's'a tobacconist's.
< aside >
< p > In 1970, the British Empire lay in ruins, and foreign
nationalists frequented the streets — many of them Hungarians
(not the streets — the foreign nationals). Sadly, Alexander
Yalt has been publishing incompetently-written phrase books.
</ aside >
図または表について、脚注は該当figcaption
またはcaption
要素、または文の周囲に含めることができる。
この例において、表は、文に与えられる脚注を持つセルを持つ。figure
要素は、表とその脚注の組み合わせを単一の凡例に与えるために使用される。
< figure >
< figcaption > Table 1. Alternative activities for knights.</ figcaption >
< table >
< tr >
< th > Activity
< th > Location
< th > Cost
< tr >
< td > Dance
< td > Wherever possible
< td > £0< sup >< a href = "#fn1" > 1</ a ></ sup >
< tr >
< td > Routines, chorus scenes< sup >< a href = "#fn2" > 2</ a ></ sup >
< td > Undisclosed
< td > Undisclosed
< tr >
< td > Dining< sup >< a href = "#fn3" > 3</ a ></ sup >
< td > Camelot
< td > Cost of ham, jam, and spam< sup >< a href = "#fn4" > 4</ a ></ sup >
</ table >
< p id = "fn1" > 1. Assumed.</ p >
< p id = "fn2" > 2. Footwork impeccable.</ p >
< p id = "fn3" > 3. Quality described as "well".</ p >
< p id = "fn4" > 4. A lot.</ p >
</ figure >
要素は、次のいずれかである場合に実際に無効であるといわれる。
button
要素input
要素select
要素textarea
要素disabled
属性を持つoptgroup
要素option
要素fieldset
要素この定義は、どの要素がフォーカス可能であるか、ならびにどの要素が:enabled
および:disabled
擬似クラスと一致するかを決定するために使用される。
CSS Values and Units leaves the case-sensitivity of attribute names for the purpose of the 'attr()' function to be defined by the host language. [CSSVALUES]
When comparing the attribute name part of a CSS 'attr()' function to the names of namespace-less attributes on HTML elements in HTML documents, the name part of the CSS 'attr()' function must first be converted to ASCII lowercase. The same function when compared to other attributes must be compared according to its original case. In both cases, to match the values must be identical to each other (and therefore the comparison is case sensitive).
This is the same as comparing the name part of a CSS attribute selector, specified in the next section.
Selectors leaves the case-sensitivity of element names, attribute names, and attribute values to be defined by the host language. [SELECTORS]
HTML文書内のHTML要素の名前とCSS要素型セレクターを比較するとき、CSS要素型セレクターは、最初にASCII小文字に変換しなければならない。他の要素と比較するときに同じセレクターは、元のケースに応じて比較されなければならない。In both cases, to match the values must be identical to each other (and therefore the comparison is case sensitive).
When comparing the name part of a CSS attribute selector to the names of attributes on HTML elements in HTML documents, the name part of the CSS attribute selector must first be converted to ASCII lowercase. 他の要素と比較するときに同じセレクターは、元のケースに応じて比較されなければならない。In both cases, the comparison is case-sensitive.
Attribute selectors on an HTML element in an HTML document must treat the values of attributes with the following names as ASCII case-insensitive:
accept
accept-charset
align
alink
axis
bgcolor
charset
checked
clear
codetype
color
compact
declare
defer
dir
direction
disabled
enctype
face
frame
hreflang
http-equiv
lang
language
link
media
method
multiple
nohref
noresize
noshade
nowrap
readonly
rel
rev
rules
scope
scrolling
selected
shape
target
text
type
valign
valuetype
vlink
For example, the selector [bgcolor="#ffffff"]
will match any HTML element with a bgcolor
attribute with values including #ffffff
, #FFFFFF
and #fffFFF
. This happens even if bgcolor
has no effect for a given element (e.g., div
).
The selector [type=a s]
will match any HTML element with a type
attribute whose value is a
, but not whose value is A
, due to the s
flag.
All other attribute values and everything else must be treated as entirely identical to each other for the purposes of selector matching. これは次を含む:
IDs and classes in no-quirks mode and limited-quirks mode
HTML名前空間でない要素の名前
HTML名前空間内でない要素の属性の名前
自身が名前空間を持つ属性の名前
Selectors defines that ID and class selectors (such as #foo
and .bar
), when matched against elements in documents that are in quirks mode, will be matched in an ASCII case-insensitive manner. However, this does not apply for attribute selectors with "id
" or "class
" as the name part. The selector [class="foobar"]
will treat its value as case-sensitive even in quirks mode.
HTMLと一緒に使用することができる多数の動的セレクターが存在する。このセレクターがHTML要素とマッチする場合に、このセクションは定義する。[SELECTORS] [CSSUI]
:defined
Support in all current engines.
The :defined
pseudo-class must match any element that is defined.
:link
Support in all current engines.
:visited
Support in all current engines.
All a
elements that have an href
attribute, and all area
elements that have an href
attribute, must match one of :link
and :visited
.
Other specifications might apply more specific rules regarding how these elements are to match these pseudo-classes, to mitigate some privacy concerns that apply with straightforward implementations of this requirement.
:active
Support in all current engines.
要素がユーザーによってアクティブにされている間
:active
疑似クラスは要素にマッチするように定義される。
特定の要素が:active
疑似クラスのみを定義する目的のためにアクティブにされているかどうかを判断するために、HTMLユーザーエージェントは、次のリストで最初の該当するエントリーを使用しなければならない。
button
要素がある場合type
属性が送信ボタン、イメージボタン、リセットボタンまたはボタン状態であるinput
要素である場合href
属性を持つa
要素である場合href
属性を持つarea
要素である場合要素が正式なアクティブ化状態にある場合、要素はアクティブにされている。
たとえば、ユーザーがスペースバーを押すことでbutton
要素を押すためにキーボードを使用している場合、要素は、要素がkeydown
イベントを受信した時刻と要素がkeyup
イベントを受信した時刻との間でこの擬似クラスとマッチする。
要素はアクティブにされている。
An element is said to be in a formal activation state between the time the user begins to indicate an intent to trigger the element's activation behavior and either the time the user stops indicating an intent to trigger the element's activation behavior, or the time the element's activation behavior has finished running, which ever comes first.
要素は、ポインティングデバイスが"down"状態にある間、ユーザーがポインティングデバイスを使用して要素を示す間積極的に指摘されているといわれる(たとえば、マウスに対して、マウスボタンが押される時間とマウスブタンが離される時間の間、マルチタッチ環境における指に対して、指がディスプレイ表面に接触している間)。
Per the definition in Selectors, :active
also matches flat tree ancestors of elements that are being activated. [SELECTORS]
Additionally, any element that is the labeled control of a label
element that is currently matching :active
, also matches :active
. (But, it does not count as being being activated.)
:hover
Support in all current engines.
The :hover
pseudo-class is defined to match an element while the user designates an element with a pointing device
. For the purposes of defining the :hover
pseudo-class only, an HTML user agent must consider an element as being one that the user designates if it is an element that the user indicates using a pointing device.
Per the definition in Selectors, :hover
also matches flat tree ancestors of elements that are designated. [SELECTORS]
Additionally, any element that is the labeled control of a label
element that is currently matching :hover
, also matches :hover
. (But, it does not count as being designated.)
具体的に、このような断片を考えてみる:
< p > < label for = c > < input id = a > </ label > < span id = b > < input id = c > </ span > </ p >
ユーザーがポインティングデバイスとともにID"a
"をもつ要素を指定する場合、p
要素(および上記の断片で示されない要素のすべての祖先)、label
要素、ID"a
"をもつ要素、およびID"c
"をもつ要素は:hover
疑似クラスとマッチする。The element with ID "a
" matches it by being designated; the label
and p
elements match it because of the condition in Selectors about flat tree ancestors; and the element with ID "c
" matches it through the additional condition above on labeled controls (i.e., its label
element matches :hover
). However, the element with ID "b
" does not match :hover
: its flat tree descendant is not designated, even though that flat tree descendant matches :hover
.
:focus
Support in all current engines.
For the purposes of the CSS :focus
pseudo-class, an element has the focus when:
it is not itself a navigable container; and
any of the following are true:
it is one of the elements listed in the current focus chain of the top-level traversable; or
its shadow root shadowRoot is not null and shadowRoot is the root of at least one element that has the focus.
:target
Support in all current engines.
For the purposes of the CSS :target
pseudo-class, the Document
's target elements are a list containing the Document
's target element, if it is not null, or containing no elements, if it is. [SELECTORS]
:popover-open
Support in all current engines.
The :popover-open
pseudo-class is defined to match any HTML element whose popover
attribute is not in the no popover state and whose popover visibility state is showing.
:enabled
Support in all current engines.
The :enabled
pseudo-class must match any button
, input
, select
, textarea
, optgroup
, option
, fieldset
element, or form-associated custom element that is not actually disabled.
:disabled
Support in all current engines.
:checked
Support in all current engines.
:checked
擬似クラスは、次のカテゴリーのいずれかに分類される任意の要素とマッチしなければならない。
type
属性がチェックボックス状態にありかつcheckedness状態がtrueであるinput
要素type
属性がラジオボタン状態にありかつcheckedness状態がtrueであるinput
要素option
要素:indeterminate
Support in all current engines.
:indeterminate
擬似クラスは、次のカテゴリーのいずれかに分類される任意の要素とマッチしなければならない。
type
属性がチェックボックス状態でありかつindeterminate
IDL属性がtrueに設定される
input
要素type
属性がラジオボタン状態でありかつラジオボタングループがcheckedness状態がtrueであるinput
要素を含まないinput
要素。value
コンテンツ属性をもたないprogress
要素:default
Support in all current engines.
:default
擬似クラスは、次のカテゴリーのいずれかに分類される任意の要素とマッチしなければならない:
checked
属性が適用されかつchecked
属性を持つinput
要素selected
属性を持つoption
要素:placeholder-shown
The :placeholder-shown
pseudo-class must match any element falling into one of the following categories:
input
elements that have a placeholder
attribute whose value is currently being presented to the usertextarea
elements that have a placeholder
attribute whose value is currently being presented to the user:valid
Support in all current engines.
:invalid
Support in all current engines.
:user-valid
The :user-valid
pseudo-class must match input
, textarea
, and select
elements whose user validity is true, are candidates for constraint validation, and that satisfy their constraints.
:user-invalid
The :user-invalid
pseudo-class must match input
, textarea
, and select
elements whose user validity is true, are candidates for constraint validation but do not satisfy their constraints.
:in-range
Support in all current engines.
:in-range
擬似クラスは、制約検証の候補であり、範囲に制限があり、アンダーフローに苦しまずオーバーフローに苦しまない、すべての要素とマッチしなければならない。
:out-of-range
Support in all current engines.
:out-of-range
擬似クラスは、制約検証の候補であり、範囲に制限があり、アンダーフローに苦しむまたはオーバーフローに苦しむかのいずれかであるすべての要素とマッチしなければならない。
:required
Support in all current engines.
:optional
Support in all current engines.
:autofill
:-webkit-autofill
The :autofill
and :-webkit-autofill
pseudo-classes must match input
elements which have been autofilled by user agent. These pseudo-classes must stop matching if the user edits the autofilled field.
One way such autofilling might happen is via the autocomplete
attribute, but user agents could autofill even without that attribute being involved.
:read-only
Support in all current engines.
:read-write
Support in all current engines.
:read-write
疑似クラスは、セレクターの目的のためにユーザー変更可能とみなされる、次のカテゴリーの1つに分類される任意の要素とマッチしなければならない:[SELECTORS]
readonly
属性が適用され、かつmutableであるinput
要素(すなわち、readonly
属性を指定させず、かつ無効でない)readonly
属性を持たず、かつ無効でないtextarea
要素input
要素でもtextarea
要素でもない要素:read-only
擬似クラスは、他のすべてのHTML要素とマッチしなければならない。
:modal
The :modal
pseudo-class must match any element falling into one of the following categories:
dialog
elements whose is modal flag is true:dir(ltr)
:dir(rtl)
The :state(identifier)
pseudo-class must match all custom elements whose states set's set entries contains identifier.
:playing
The :playing
pseudo-class must match all media elements whose paused
attribute is false.
:paused
The :paused
pseudo-class must match all media elements whose paused
attribute is true.
:seeking
The :seeking
pseudo-class must match all media elements whose seeking
attribute is true.
:buffering
The :buffering
pseudo-class must match all media elements whose paused
attribute is false, networkState
attribute is NETWORK_LOADING
, and ready state is HAVE_CURRENT_DATA
or less.
:stalled
The :stalled
pseudo-class must match all media elements that match the :buffering
pseudo-class and whose is currently stalled is true.
:muted
The :muted
pseudo-class must match all media elements that are muted.
:volume-locked
The :volume-locked
pseudo-class must match all media elements when the user agent's volume locked is true.
This specification does not define when an element matches the :lang()
dynamic pseudo-class, as it is defined in sufficient detail in a language-agnostic fashion in Selectors. [SELECTORS]