[1] 「機能 [VAR[A]] が仕様書 [VAR[B]] に対する[DFN[[RUBYB[意図的違反]@en[willful violation]]]]である」とは、 仕様書 [VAR[B]] にて規定されている現実離れした機能 [VAR[A']] とは少し異なる現実的な機能 [VAR[A]] が規定されていることを意味します。 * 仕様書 -[2] [[Web Applications 1.0]] ([[HTML5]]) -- [CSECTION@en[Compliance with other specifications]] * 定義 [3] [[Web Applications 1.0]] は「他の仕様書に対する適合性」の節 ([[参考]]) で次のように 「[[意図的違反]]」という語を定義しています。 > This specification interacts with and relies on a wide variety of other specifications. In certain circumstances, unfortunately, conflicting needs have led to this specification violating the requirements of these other specifications. Whenever this has occurred, the transgressions have each been noted as a "[DFN@en[willful violation]]". > この仕様書は他の色々な仕様書と関係したり依存したりしています。 しかし残念ながら、利害の衝突のためにこの仕様書が他の仕様書の要件に違反せざるを得ないこともあります。 そのような罪過については常に「[DFN[意図的違反]]」と注記しています。 * Web Applications 1.0 の意図的違反 - [23] [DEL[[[URL]] の構文解析が [[RFC]] とは異なります。]] -- [24] で [[URL]] の定義ごと削除されました。 - [4] 「[[URL]]」という語を [[RFC 3986]] とは異なる意味で (一般的に用いられている意味で) 使っています - [30] [[URI]] や [[IRI]] の規定に反して[[誤り処理]]を定義しています - [19] [[HTTP]] の規定に反して、 [CODE(HTMLa)@en[[[charset]]]] の [[sniffing]] を行っています - [25] [DEL[[CODE(HTTP)@en[[[Content-Type]]]] の構文解析について [[HTTP]] とは異なる規定をしています]] -- [26] で[[意図的違反]]でないように言い回しでごまかされています - [17] 「[CODE(MIME)@en[[[text/javascript]]]]」は公式には「[[廃止]]」とされていますが、 [[JavaScript]] を表すものとして使います -- 「意図的違反」とは書いていませんが、「意図的違反」の定義にリンクされています - [6] [[HTML文書]]では[[名前空間]]の処理が [[XPath 1.0]] と異なっています -[15] [[HTML出力方式]]の [[XSLT]] [[スタイル・シート]]を使って [[DOM]] を構築するときの[[名前空間]]の処理が [[XSLT 1.0]] と異なっています - [5] [[妥当な電子メール・アドレス]]は [[RFC 5322]] の[[電子メイル・アドレス]]の構文とは異なっています - [9] [CODE(HTMLe)@en[[[form]]]] の[[提出]]先 [[URL]] が[[相対URL]] の時の[[解決]]の方法は [[RFC 3986]] の[[処理モデル]]と異なっています -[10] [[大域適用範囲]]において [CODE(JS)@en[[[this]]]] [[キーワード]]が表すものが [[ES3]] とは異なっています - [7] [DEL[[CODE(MIME)@en[[[text/cache-manifest]]]] では[[文字符号化]]が [[RFC 2046]] とは違って [[UTF-8]] に固定されています]>>20] - [8] [CODE(MIME)@en[[[text/cache-manifest]]]] では[[改行]]が [[RFC 2046]] とは違って [[CRLF]] 正規形でなくても構いません -[11] 特定の[[文字符号化]]を別の[[文字符号化]]とみなして処理することがあって、 [[CHARMOD]] とは異なっています -[12] [[UTF-16]] の[[既定値]]が [[LE]] であるところが [[RFC 2781]] とは異なります -[16] [CODE(MIME)@en[[[charset]]]] [[引数]]の省略時の動作が [[HTTP]] や [[MIME]] とは異なります -[13] [[文字符号化]]に関わらず [CODE(charname)@en[[[BOM]]]] を削るところが [[Unicode]] の[[処理モデル]]とは異なります - [18] [[XHTML]] で特定の[[公開識別子]]が指定されている時は、 [[HTML]] と同等の[[文字参照]]が使えます -- 厳密には [[XML]] に違反しているとは言えないものの、 [[XML]] 仕様書の要件の精神に反する、とされています - [21] [DEL[[CODE(CSS)@en[[[:active]]]] は、[[要素]]が[[活性化]]された時のみならず、[CODE(DOMe)@en[[[mousedown]]]] から [CODE(DOMe)@en[[[mouseup]]]] までの間にも適用されます。]] -- [22] 後に [[willful violation]] ではないように言い回しでごまかされています。 -[14] [CODE(JS)@en[[[document.all]]]] が[[偽]]として評価されるところが [[ES3]] とは異なります [27] 一旦[[意図的違反]]として記載され、実質的に[[意図的違反]]であっても、 [[HTML WG]] の抵抗勢力による反対意見のために表現を改めて[[意図的違反]]で無いかのように書き直されていることがあります。 ある事実が「[[意図的違反]]」であるとされるかどうかは政治的な問題です。 * 明記されていない意図的違反 - [34] [CODE(MIME)@en[[[multipart/form-data]]]] の生成の方法は [[RFC 2388]] に多くの点で違反しています。 * 歴史 [20] [CITE@en[Web Applications 1.0 r5578 Remove a 'willful violation' note.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10854]] ( ([TIME[2010-10-05 08:36:00 +09:00]] 版)) [28] [CITE@en[Web Applications 1.0 r5979 10805]] ( ([TIME[2011-04-09 07:12:00 +09:00]] 版)) * メモ [29] [CODE(MIME)@en[[[application/octet-stream]]]] に [CODE(MIME)@en[[[codecs]]]] [[引数]]が与えられた場合の扱いは [[RFC 2046]] に沿っていませんが、[[RFC 2046]] による [[MIME]] 的扱いに先立った前処理段階であるとして、 [[意図的違反]]ではないこととなっています。 ;; [31] [CITE@en[Web Applications 1.0 r6575 Comment out a 'willful violation' that is being fixed in the underlying specs.]] ( ([TIME[2011-09-24 04:46:00 +09:00]] 版)) [32] [CODE(MIME)@en[[[text/javascript]]]] は正式には[[廃止]]されているにも関わらず、 実際には最もよく用いられているため [[HTML]] ではこれを採用しています。 これはなぜか [[willful violation]] とはされていません。 [REFS[ - [33] ]REFS]