[1] [[HTML]] の [DFN[[CODE(HTMLe)[plaintext]] 要素型]]の要素は、
HTML がそこで終わり、以後は[[平文]]として扱うことを表します。

[2] 仕様書:
- [[HTML 2.0]]: [[RFC 1866]] 5.5.2.1. NOTE

RFC 1866 の NOTE は[Q[以前の原案では含めていた]<urn:ietf:rfc:1866>]
などと書いていますが、 DTD には思いっきり載ったままであったりします。

[3] 
:[[開始タグ]]:必須
:[[終了タグ]]:不存在
:[[内容]]:不存在
:出現できる文脈:HTML 文書の最後
:[[属性]]:
,属性名	,属性値	,既定値	,説明	,出典


[[#comment]]


** 代替

[7] [CODE(HTMLe)[plaintext]] 要素型は HTML 2.0 DTD
で'''非推奨'''とされていますし、 HTML 2.0 
仕様書本文では既に削除されたものとして扱われています。

[[HTTP/0.9]] はとうの昔に既に時代遅れでして、
平文を転送する時には新しい版の HTTP で [CODE(MIME)[[[text/plain]]]]
と札付けするべきです。

また、整形済み文を HTML に含める際には [CODE(HTMLe)[[[pre]]]]
要素型を使うべきです。

[[#comment]]


* 歴史

[4] この要素型は、主として、 [[HTTP/0.9]] で平文を送るために使用されていました。
HTTP/0.9 は後の [[HTTP]] とは異なり、[[媒体型]]を指定できず、
常に [[HTML]] を[[応答]]で返すものと扱っていました。

そこで平文を返す時には、最初に [CODE(HTML)[<[CODE(HTMLe)[plaintext]]>]]
と挿入していました。

[10]
[[Line Mode Browser]]で1991年2月11日に実装されました。

;; [CITE@en[Change History of Line Mode Browser]] 
<http://www.w3.org/LineMode/User/Features.html>


[FIG(data)[ [16] [[HTML要素概説]]

:[F[要素名]]:[CODE[plaintext]]
:日付:[TIME[1991-02-11]]
:説明:
[TIME[1991-02-11]]、
[[Line Mode Browser]]
は
[CODE[plaintext]]
を実装した。
[SEE[>>22]]
:出典:
[REFS[

-
[CITE[Change History of Line Mode Browser]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[DATA(.author)[[[Henrik Frystyk]]]],
[TIME(.published)[1998/04/23 00:30:09][1998-04-23T00:30:09.000Z]], 
[TIME[2024-08-14T02:41:03.708Z]] <https://www.w3.org/LineMode/User/Features.html>

]REFS]
:注釈:
- [22] 
当時の [[HTTP]] (現在でいう [[HTTP/0.9]]) には [[MIME型]]の指定がなかった。


]FIG]


[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[plaintext]]
:日付:[TIME[1991-04-02]]
:説明:
[TIME[1991-04-02]]付
[[WorldWideWeb]]
ソースコードは、
[CODE[plaintext]]
を実装している。
[[廃止]]予定との注釈[SEE[>>19]]があり、
その代替と思われる
[CODE[restoffile]]
も実装されている。
:出典:[[HTML 1991]]
:注釈:
-
[19] 
[[廃止]]の意向が明示された最古の[[要素]]である。
しかし現在も[[Webブラウザー]]は実装を継続している。

]FIG]




- [133] [CITE[An HTML specification and Implementors' Guide]], 
[[Dan Connolly]],
Mon, 30 Nov 92 07:27:01 CST,
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T14:14:20.340Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0123.html>




[5] HTML 2.0 DTD では [CODE(HTMLe)[[[html]]]] 要素の子供で
[CODE(HTMLe)[body]] 要素の弟として高々1つ存在できます。
内容は [CODE(SGML)[%literal]] で、 SGML 的には [CODE(SGML)[[[CDATA]]]],
終了タグが省略可能と宣言されています。

[6] しかし、 >>5 の時代に無理矢理 SGML 的に DTD
で表されて仕様に >>2 のような曖昧な形ながら入れられてしまったために、
以後の実装や[[タグ講座]]で亡霊として残ることになってしまいました。

実装の中には終了タグを認め、 [CODE(HTMLe)[[[xmp]]]]
や [CODE(HTMLe)[[[listing]]]] と同じように扱うものもあります。
また、他の要素型並みにどんどん共通属性が追加されていきました。

[7] また、信じられないことではありますが、 [[au]]
の携帯電話用の [[XHTML Basic]] なる仕様 (W3C 版 XHTML Basic
を基にしているらしい。) では [CODE(HTMLe)[plaintext]]
要素型が用意されています。

[[#comment]]



[8]

- [CITE[ボーダフォンライブ!向けウェブコンテンツ開発ガイド [HTML 編] 1.3.0]]
(2005年4月1日) <http://www.dp.j-phone.com/dp/tool_dl/web/tech.php>
-- [CSECTION@en[3.6.9. p : paragraph]]

これによると、 [CODE(HTMLe)@en[plaintext]] の内容は
[CODE(SGML)[(%[[block]];)+]] です(藁。
[[終了タグ]]は必須で、この要素型自体も [CODE@en[block]]
に分類されています。
[Q[改行コード、スペース、タグを含めて全てそのまま表示を行う。]]
らしいですが・・・。

([[名無しさん]] [sage])

[9]
[[iモード]]向けの[[文書]]で[[改行]]のための
[CODE(HTMLe)@en[[[br]]]] の[[タグ]]の[[バイト]]数の節約のために
[CODE(HTMLe)@en[[[plaintext]]]] が使われることがあるそうです。
[[不思議]]な [[XHTML Basic]] 解説にそう書いてありました(藁。
([[名無しさん]] [sage])

[11]
[CITE[Index of /~wakaba/-temp/test/html/plaintext]] ([CODE[2008-06-22 16:25:18 +09:00]] 版) <http://suika.suikawiki.org/~wakaba/-temp/test/html/plaintext/>
([[名無しさん]])

[12]
[[WinIE 6]], [[WinIE 7]], [[Safari]] 3.1, [[Opera]] 9.2, [[Firefox]] 2
のいずれにおいても、
- [[終了タグ]]は[[認知]]されません。
- [CODE(JS)@en[[[document]].[[write]]]] があっても、仕様通りに処理されます。
- [[Opera]] でだけ、[[Live DOM Viewer]] で [CODE(HTMLe)@en[[[plaintext]]]]
を使うと、 [CODE(JS)@en[[[document]].[[wrote]]()]] の使用・不使用にかかわらず、
なぜか [CODE(HTMLe)@en[[[plaintext]]]] の子供が現れず、[[レンダリング]]もされません。
>>11 のような単純なテストケースでは再現できません ([CODE(HTMLe)@en[[[iframe]]]] と 「CODE(JS)@en[[[document]].[[write]]()]] の複合?)。
([[名無しさん]])


[13]
[CITE@ja[plaintext要素@ばけらの HTML リファレンス(未完成)]] ([TIME[2008-06-04 14:34:43 +09:00]] 版) <http://bakera.jp/ref/html/element/plaintext>

** HTML5



- [21] 
[CITE@en['''['''''']''' (0) Define handling of <listing>, <plaintext>, <acronym>, <xmp>, <…]], [[Hixie]], [TIME[2009-07-31 08:21:23 +09:00]], [TIME[2024-09-06T08:25:39.000Z]] <https://github.com/whatwg/html/commit/74c22f9103edfbf4f376bb183f80ee569674217b#diff-41cf6794ba4200b839c53531555f0f3998df4cbb01a4d5cb0b94e3ca5e23947d>




[FIG(data)[ [18] [[HTML要素概説]]

:[F[要素名]]:[CODE[plaintext]]
:日付:[TIME[2009-07-31]]
:説明:
[TIME[2009-07-31]]、
[CITE[HTML5]]
に
[CODE[plaintext]]
の処理の規定が追加された。
[SRC[>>20]]
この他に[[構文解析器]]や [[DOM]] 関係の規定が現在も残る。
:出典:
[REFS[

-
[20] 
[CITE[HTML5 r3502]],
[DATA(.author)[[[Hixie]]]], 
[TIME(.published)[2009-07-31 08:21:23 +09:00]], [TIME[2024-09-06T08:25:39.000Z]] <https://github.com/whatwg/html/commit/74c22f9103edfbf4f376bb183f80ee569674217b>

]REFS]

]FIG]






[14] [CITE[IRC logs: freenode / #whatwg / 20101125]]
( ([TIME[2010-12-01 00:37:08 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20101125>

[15] [CITE@en[Consider restricting form submissions containing `<plaintext>`. · Issue #2252 · whatwg/html]]
([TIME[2017-01-12 14:06:10 +09:00]])
<https://github.com/whatwg/html/issues/2252>

* [CITE[HTMLayout]]

[17] [CITE[null]], [TIME[2024-08-17T10:01:03.000Z]], [TIME[2010-03-25T11:33:36.022Z]] <https://web.archive.org/web/20100325111913/http://www.terrainformatica.com/htmlayout/logfile320.htm>



[FIG(data)[ [32] [[HTML要素概説]]

:[F[要素名]]:[CODE[plaintext]]
:日付:[TIME[2007-12-21]]
:説明:
[TIME[2007-12-21]]、
[[HtmLayout]]
は
[CODE[plaintext]]
を実装した。
[CODE[textarea]]
と同等だが[[ブロック水準要素]]として機能する。
:出典:
[REFS[

- 
[DATA(.author)[[[Terra Informatica Software Design]]]],
[TIME(.published)[2008-05-04]],
[TIME[2024-08-17T10:01:03.000Z]], [TIME[2010-03-25T11:33:36.022Z]] <https://web.archive.org/web/20100325111913/http://www.terrainformatica.com/htmlayout/logfile320.htm>

]REFS]

]FIG]




* メモ