[11] p
要素は、段落を表します。
HTML で最もよく用いられる要素の1つです。
[51] (日常語的意味の) 段落にリストや表を含めたいこともありますが、 これは HTML では定義上1つの段落ではなく、いくつかの段落に分かれます。 例えば次のようにマーク付けできます >>7。
[52] もし全体を1つの要素にまとめたい時は、 p
要素ではなく、 div
要素 (など) を使うことができます。
例えば次のようにできます >>7。
HTMLParagraphElement
インターフェイス (DOM)[41] p
要素の要素インターフェイスは、
HTMLParagraphElement
インターフェイスです >>7。
[42] HTMLParagraphElement
インターフェイスは、
HTMLElement
インターフェイスを継承しています >>7。
文書環境に晒されています。
[58] 廃止されたIDL属性として align
があります >>57。
[17] 段落の例 RFC 1866 5.5.1.
<H1>This Heading Precedes the Paragraph</H1> <P>This is the text of the first paragraph. <P>This is the text of the second paragraph. Although you do not need to start paragraphs on new lines, maintaining this convention facilitates document maintenance.</P> <P>This is the text of a third paragraph.</P>
p
[72] Guide to the W3C XML Specification (XMLspec) DTD, Version 2.1, , https://www.w3.org/XML/1998/06/xmlspec-report.htm#AEN1233
p
の誕生[69]
当初は WorldWideWeb, Line Mode Browser
とも空行をも <p>
とみなしていました。
[71] しかしどちらもその後この仕様を廃止しました。 タグの後の空行を不意に改段落と解釈してしまうためと説明されています >>70。
[15] Toward Closure on HTML (1994年4月)
http://www.w3.org/MarkUp/html-spec/html-direction.html
で Dan Connolly は、 p
要素についてこういっています。
[24]
EMail Msg <9308260107.AA23088@stat1.cc.ukans.edu> (2007-07-01 04:44:10 +09:00
版) http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q3.messages/774.html
[1] mosaic や NN では、p
タグを連続させても1つ分の空行しかできませんでした。
[2] >>1 は現代的に言えば、既定スタイルに
p
+ p
{margin-top: 0}
とかいろいろ書いてあったとでも思えばいいでしょう。
[3] >>1-2 は別に HTML の規定ではなく、同時代のほかの WWWブラウザ,
たとえば Arena は p
の数だけ空行を作りました。
[23]
Toward Closure on HTML (1994-04-07 09:56:59 +09:00
版) http://www.w3.org/People/Connolly/drafts/html-direction.html
[16] 仕様書:
[5] 段落とは何か。 HTML 4 HTML 4 9.3 曰く:
Authors traditionally divide their thoughts and arguments into sequences of paragraphs. The organization of information into paragraphs is not affected by how the paragraphs are presented: paragraphs that are double-justified contain the same thoughts as those that are left-justified.
著者は、伝統的に、自身の意思や主張を段落の連続体に分割します。 段落としての情報の組織化は、その段落がどう表現されるかには影響されません。 両端揃えの段落は、左揃えの段落と同じ意見を含んでいます。
[36] DTD では %block;
に含まれていて、
それを内容モデルに含めている場所で使うことができるとされていました。
[4] p
要素は、 (歴史的理由により、)
行内要素しか内容に含めることができません。
p
要素型自体を含めることも、もちろんできません。
[13] HTML 4 は、としています。
[14] HTML 4 は、Visual rendering of paragraphs
(参考) http://www.w3.org/TR/html4/struct/text.html#idx-paragraph で、
段落のレンダリングについて言及しています。
(HTML 4 のこの章の説明自体は特に p
要素に限定したものではなく、
一般に文内容についての考察でしょう。)
概略:
次に述べるのは、現在の幾つかの視覚UA の動作についてである。
lr
では) 左を揃え、
右はぎざぎざにレンダリングされる。 HTML 4[21] HTML 4: IW:HTML4:"struct/text.html#h-9.3" には
The
P
element represents a paragraph.
とは書いてあるけど、段落は p
で表される/表されなければならないとは書いてない。
The HTML markup for defining a paragraph is straightforward: the
P
element defines a paragraph.
(名無しさん)
[22] HTML 4: IW:HTML4:"struct/text.html#h-9.3" には
The
P
element represents a paragraph.
とは書いてあるけど、段落は p
で表される/表されなければならないとは書いてない。
The HTML markup for defining a paragraph is straightforward: the
P
element defines a paragraph.
特定の実装の挙動を根拠に、
br
は改行1つ分、
p
は改行2つ分だとする誤った解釈が古今東西広く流布されています。
HTML 4でp
要素の子供としてul
要素等を入れられない問題がよく取り上げられていますが、
それを日本語と英語の文法的・文章的構造の違いに拠るものだとする主張が後を絶ちません。
果てには日本語の段落と英語のパラグラフはまったく別概念であり、段落をp
で表せないという珍説まで発表されています
(パラグラフ非段落説)。しかし、
日本語と英語における違いについて (HTML 4の規定以外の)
根拠を挙げた主張は寡聞にして見たことがありません。
HTMLがフラットでリニアな構造なのは他書式との互換性のための歴史的制約に過ぎず (TimBL自身の発言他、軽く調べるだけですぐわかること。)、 この制約への不満は英語圏からも古くからあるもので、 HTML 5やXHTML 2では撤廃されています。
>>19 で取り上げられている制約を回避するための方法が幾つも検討されており、
その候補の一つがobject
hackで、
歴史的に何度も再発見
されています。
詳しくはobject
hackの項を参照してください。
P
要素 (DjVu XML)[53] 歴史的に HTML の p
要素 (のタグ)
は改段落とみなされていました。ワープロなども、
「段落」、「リスト項目」、「見出し」等を排他的なテキストブロックの属性として扱うのが普通でした。
(これをフラットでリニアな構造などと言うこともあります。)
[54] 後にスクリプトやスタイルシートで要素単位で操作することが増え、
これでは都合が悪いこともあると認識されるようになりました。
XHTML2 や XHTML5 は市場の要求に応えて p
要素内でのブロック水準要素の利用を解禁しました。
[55] ところが HTML5 は後方互換性のため p
要素の内容の制約を緩和できませんでした。 XHTML
の失敗が明白になり、 HTML と XHTML の整合性がより重要と考えられるようになると、
p
要素の内容は旧来の規定に戻され、
段落に関する解釈もそれに合わせて整理されました。
[28] XHTML2 の最初の作業原案では、 p
要素は blokckquote
や ul
など他のブロック水準要素を含められる内容モデルに改められていました。
[29] HTML5 (旧 Web Applications 1.0) も当初は p
要素は他のブロック水準要素を含められる内容モデルとしてきました。
しかし、 XHTML でない HTML は既存の実装や文書との互換性のために変更しがたく (ブロック水準要素の開始タグが現れると構文解析器は
p
要素の終了タグを補うこととなっています。)、
HTML と XHTML の差異を不用意に拡大するのも好ましくないとの設計方針から、
従来通り他のブロック水準要素は含められない内容モデルに戻されました。
[75] Web Applications 1.0, , https://web.archive.org/web/20041210054847/http://www.whatwg.org/specs/web-apps/current-work/#the-p
[48] Web Applications 1.0 r6887 Add a big example to <p> to help authors who want to use logical paragraphs rather than structural ones. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6886&to=6887
[47] [whatwg] Interpretation issue: can <section> be used for "extended paragraphs"? ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-January/034337.html
[25] HTML5 IRC logs: freenode / #whatwg / 20071220 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20071220#l-231
[26] SMIL 3.0 smilText ( 版) http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-text.html#edef-textP
[27] p要素の終了タグを省略する際の注意点 (agenda) ( 版) http://jintrick.net/agenda/2008/12/p.html
[30] Speech Synthesis Markup Language (SSML) Version 1.1 ( ( 版)) http://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/#edef_paragraph
[31] IRC logs: freenode / #whatwg / 20100913 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20100913
[32] IRC logs: freenode / #whatwg / 20100930 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20100930
[33] [whatwg] Interpretation issue: can <section> be used for "extended paragraphs"? ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-June/032030.html
[34] Web Applications 1.0 r8841 Fix the conditions for </p> omission ( ( 版)) https://html5.org/r/8841
[61] Disallow omitting </p> inside an autonomous custom element ( (domenic著, )) https://github.com/whatwg/html/commit/002ea53e1da8e5683801f42109d9338153acb932
[63] Schematron にも段落の p
要素があります。
[64] Toward Closure on HTML () https://www.w3.org/People/Connolly/drafts/html-direction.html
p
要素によって表されるわけではありません。