/
436.txt
79 lines (65 loc) · 5.54 KB
/
436.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[2] [DFN[[RUBYB[[[適用可能な仕様書]]]@en[applicable specification]]]]とは、
[[実装]]や[[著者]]に対する[[要件]]を議論するにあたって考慮する対象とする[[仕様書]]のことをいいます。
[3] [[仕様書]]は、ただ存在しているだけでは何ら効力を有しません。
権威を有する[[標準化団体]]によって出版されたとしても、それだけでは実効性を伴いません。
分野と[[国]]によっては[[法的]]に強制される標準仕様も存在しますが、
そのような例外を別とすれば、どの[[仕様書]]を選択し、実装・利用するかは利用者に委ねられています。
ある[[仕様書]]が有益であり、利用する価値があると考えるなら、
それは[[適用可能な仕様書]]となります。
[4] 仕様書に基づき行われる行為、例えば[[情報交換]]は、
通常[[送信者]]と[[受信者]]のように複数の当事者が存在します。
関係する当事者間で[[適用可能な仕様書]]の集合が一致していれば、
(そしてそれに[[適合]]しているなら、) 想定通りに正しく行えると期待されます。
そうでない場合、その行為が正しく行われ、正しく理解されるかどうかは自明ではありません。
* 仕様書
[REFS[
- [6] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-05-23 20:05:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#other-applicable-specifications>
- [11] [CITE@en-US[DOM Standard]] ([TIME[2014-05-26 14:29:04 +09:00]] 版) <http://dom.spec.whatwg.org/#other-applicable-specifications>
]REFS]
* Web における定義
[5] [[HTML Standard]] に対して [[vendor]] 中立な拡張が必要な時には、
[[HTML Standard]] 自体が更新されることもありますし、
[[HTML Standard]] の要件を上書きするような拡張仕様書を書くこともできます。
[[HTML Standard]] を自身の行為に適用している人がそのような拡張仕様書の要件を認識すると決めたなら、
[[HTML Standard]] の適合性の要件に於いては、[DFN[[RUBYB[適用可能な仕様書]@en[applicable specification]]]]となります。
[SRC[>>6]]
[EG[
[7] 仮に誰かが任意の[[バイト列]]を[[適合]]すると定義する[[仕様書]]を書いて、
適当なごみデータを[[適合]]すると主張したとします。しかし、
かと言ってそのごみデータが誰の目からも[[適合]]していると言えるわけではありません。
他の誰かがその[[仕様書]]を適用しないことにすれば、そのごみはあくまでゴミであって、
[[適合]]しないと言えます。[[適合性]]に関して特定のコミュニティーでどのような要件が適用されるかは、
そのコミュニティーで何を適用可能と合意するかに依るのです。 [SRC[>>6]]
]EG]
[12] [[DOM Standard]] にも同じ定義があります [SRC[>>11]]。
* 例
[8] 例えば [[HTML]] 仕様に対する拡張として、 [[W3C]] [[HTML WG]] は
[CODE(HTMLa)@en[[[longdesc]]]] [[属性]]を定義する独自の仕様書を出版しています。
[[HTML Standard]] は [CODE(HTMLa)@en[[[longdesc]]]] [[属性]]は[[廃止]]されたものと明記しており、
[[著者]]がこれを利用することを禁止しています。もし [[W3C]] の
[CODE(HTMLa)@en[[[longdesc]]]] [[属性]]の仕様書を[[適用可能な仕様書]]として採用すれば、
[CODE(HTMLa)@en[[[longdesc]]]] [[属性]]を使った[[文書]]を[[適合]]すると主張することができます。
;; [9] もちろん、その主張が理解されるのは、同じように [CODE(HTMLa)@en[[[longdesc]]]]
[[属性]]の[[仕様書]]を[[適用可能な仕様書]]と認識する人々の間だけです。
[[HTML Standard]] で [CODE(HTMLa)@en[[[longdesc]]]] [[属性]]が[[廃止]]されたのは、
どの [[Webブラウザー]]も実装しておらず、利用している[[文書]]もそう多くなく、
利用している場合には誤用が多い、またこれらの状況が変化する見込みはない、
という状況が続いているのが理由ですから、そのような状況を改善できない仕様書を書いたところで、
>>7 のごみデータと大差はないのです。
[10] [[HTML Standard]] が定義する [[unload a document]] 手順は、
「[[他の適用可能な仕様書]]の [[unloading document visibility change steps]] があれば実行する」
という部分を含んでいます。そして [[Page Visibility]] 仕様書がこの
[[unloading document visibility change steps]] を定義しています。このため、
[[Page Visibility]] 仕様書を[[適用可能な仕様書]]と認識し、実装する[[Webブラウザー]]は、
[[文書]]の [[unload]] の途中で [[Page Visibility]] 仕様書に基づく処理を実行することになります。
[[Page Visibility]] の機能を用いた[[文書]]が世界に複数存在しており、
それを正しく処理するために複数の [[Webブラウザー]]が [[Page Visibility]]
仕様書の機能を実装していることから、これらの[[文書]]の[[著者]]と
[[Webブラウザー]]の実装者の間では、 [[Page Visibility]]
仕様書は[[適用可能な仕様書]]の1つと認識されていることになります。
* 歴史
[REFS[
- [1] [CITE@en[Web Applications 1.0 r5996 9178]]
( ([TIME[2011-04-13 08:32:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5995&to=5996>
]REFS]