@@ -1196,26 +1196,18 @@ <h3 id=content-property><span class=secno>6.1. </span> Generating the value
11961196
11971197 < h2 id =positioning-markers > < span class =secno > 7. </ span > Positioning Markers</ h2 >
11981198
1199- < p > This section introduces a new positioning scheme, designed to model the
1200- way in which "outside" list markers were traditionally positioned in CSS
1201- 2.1. Outside list markers now have their positioning defined in terms of
1202- this new value.
1199+ < p > This section introduces a new positioning scheme, designed to model the
1200+ way in which ‘ < code class = css > list-style-position:outside </ code > ’ list
1201+ markers were traditionally positioned in CSS 2.1. Outside list markers now
1202+ have their positioning defined in terms of this new value.
12031203
1204- < p > The new positioning scheme defined in this section can be used on all
1204+ < p > The new positioning scheme defined in this section can be used on all
12051205 elements, not just ‘< code class =css > ::marker</ code > ’ pseudo-elements.
1206- In some situations, such as legal proceedings or official minutes, the
1207- precise form that the list marker takes is a vital part of the content.
1208- It's not acceptable for the marker to change (from a custom-defined marker
1209- to a default bullet or alpha marker) just because the UA is not rendering
1210- CSS, or a server error is temporarily preventing the CSS file from being
1211- loaded, as the precise form of the marker is used to officially refer to
1212- that segment. The only way to guarantee that the marker will be rendered
1213- correctly, regardless of whether CSS is applied, is to specify the marker
1214- outside of CSS, directly in the document's markup. However, the page
1215- author may still want to style the marker in many of the ways that are
1216- available to them when using ordinary CSS-generated markers. To accomodate
1217- this, the new positioning scheme can be used to position the
1218- marker-in-content as if it were an ordinary CSS-generated marker.
1206+ For example, this can be used to position explicit elements serving as
1207+ markers in a legal document, so that the list item has a marker whose
1208+ value is guaranteed to be correct regardless of whether the CSS is applied
1209+ (often a requirement in legal documents), but which is positioned like a
1210+ native CSS marker.
12191211
12201212 < h3 id =position-marker > < span class =secno > 7.1. </ span > The ‘< code
12211213 class =css > marker</ code > ’ value for ‘< code
@@ -1231,7 +1223,7 @@ <h3 id=position-marker><span class=secno>7.1. </span> The ‘<code
12311223 < tr >
12321224 < th > New Value:
12331225
1234- < td > ‘ < code class = css > marker</ code > ’
1226+ < td > marker
12351227
12361228 < tr >
12371229 < th > Initial:
@@ -1264,18 +1256,19 @@ <h3 id=position-marker><span class=secno>7.1. </span> The ‘<code
12641256 < td > see prose, otherwise same as CSS2.1
12651257 </ table >
12661258
1267- < p > The ‘< code class =css > marker</ code > ’ value for ‘< code
1259+ < p > The ‘< code class =css > marker</ code > ’ value for ‘< code
12681260 class =property > position</ code > ’ depends on the element it is set on
1269- having a list item ancestor. If the specified value of ‘< code
1270- class =property > position</ code > ’ is ‘< code class =css > marker</ code > ’
1271- and the element does not have a list item ancestor, ‘< code
1261+ having a < a href ="#list-item "> < i > list item</ i > </ a > ancestor. If the
1262+ specified value of ‘< code class =property > position</ code > ’ is ‘< code
1263+ class =css > marker</ code > ’ and the element does not have a < a
1264+ href ="#list-item "> < i > list item</ i > </ a > ancestor, ‘< code
12721265 class =property > position</ code > ’ must compute to ‘< code
1273- class =property > relative</ code > ’ on the element. An element with < code
1274- class =css > position:marker</ code > counts as < a
1266+ class =property > relative</ code > ’ on the element. An element with ‘ < code
1267+ class =css > position:marker</ code > ’ counts as < a
12751268 href ="http://www.w3.org/TR/CSS21/visuren.html#absolutely-positioned "> absolutely
12761269 positioned</ a > .
12771270
1278- < p > To calculate the marker's position, we must first define a few terms:
1271+ < p > To calculate the marker's position, we must first define a few terms:
12791272
12801273 < dl >
12811274 < dt > < dfn id =ancestor-list-item
@@ -1288,118 +1281,137 @@ <h3 id=position-marker><span class=secno>7.1. </span> The ‘<code
12881281 reference element</ dfn >
12891282
12901283 < dd >
1291- < p > If the < a href ="#ancestor-list-item "> < i > ancestor list item</ i > </ a > has
1292- ‘< code class =css > marker-attachment:list-item</ code > ’, the < a
1284+ < p > If the < a href ="#ancestor-list-item "> < i > ancestor list item</ i > </ a >
1285+ has ‘< code class =css > marker-attachment:list-item</ code > ’, the < a
12931286 href ="#marker-positioning-reference-element "> < i > marker positioning
12941287 reference element</ i > </ a > is the < a
12951288 href ="#ancestor-list-item "> < i > ancestor list item</ i > </ a > .
12961289
1297- < p > Otherwise, if the < a href ="#ancestor-list-item "> < i > ancestor list
1290+ < p > Otherwise, if the < a href ="#ancestor-list-item "> < i > ancestor list
12981291 item</ i > </ a > has ‘< code
12991292 class =css > marker-attachment:list-container</ code > ’ and has a parent
13001293 element, the < a href ="#marker-positioning-reference-element "> < i > marker
13011294 positioning reference element</ i > </ a > is the < a
13021295 href ="#ancestor-list-item "> < i > ancestor list item's</ i > </ a > parent.
13031296
1304- < p > Otherwise, the < a
1297+ < p > Otherwise, the < a
13051298 href ="#marker-positioning-reference-element "> < i > marker positioning
13061299 reference element</ i > </ a > is the < a
13071300 href ="#ancestor-list-item "> < i > ancestor list item</ i > </ a > .
13081301
13091302 < dt > < dfn id =list-item-positioning-edge > list item positioning edge</ dfn >
13101303
1311- < dd > The border edge of the < a href ="#ancestor-list-item "> < i > ancestor list
1312- item</ i > </ a > corresponding to the "start" or "before " edge of the < a
1304+ < dd > The border edge of the < a href ="#ancestor-list-item "> < i > ancestor list
1305+ item</ i > </ a > corresponding to the "start" or "head " edge of the < a
13131306 href ="#marker-positioning-reference-element "> < i > marker positioning
13141307 reference element</ i > </ a > , whichever is in the < a
13151308 href ="#ancestor-list-item "> < i > ancestor list item's</ i > </ a > inline axis.
13161309
13171310 < dt > < dfn id =marker-positioning-edge > marker positioning edge</ dfn >
13181311
1319- < dd > The opposing edge relative to the < a
1320- href ="#list-item-positioning-edge "> < i > list item positioning edge</ i > </ a >
1321- on the marker's margin box. For example, if the < i > list item positioning
1322- edge ended up being the left border edge of the < a
1323- href =" #ancestor-list- item" > < i > ancestor list item < /i > </ a > , the < a
1324- href =" #marker- positioning-edge " > < i > marker positioning edge</ i > </ a > would
1325- be the right margin edge of the marker. </ i >
1312+ < dd > The outer edge of the marker that's on the opposite side from the < a
1313+ href ="#list-item-positioning-edge "> < i > list item positioning edge</ i > </ a > .
1314+ For example, if the < i > list item positioning edge ended up being the left
1315+ border edge of the < a href =" #ancestor-list-item " > < i > ancestor list
1316+ item< /i > </ a > , the < a href =" #marker-positioning-edge " > < i > marker
1317+ positioning edge</ i > </ a > would be the right margin edge of the marker.
1318+ </ i >
13261319 </ dl >
13271320
1328- < p > The marker's position in the < a href ="#ancestor-list-item "> < i > ancestor
1321+ < p > The marker's position in the < a href ="#ancestor-list-item "> < i > ancestor
13291322 list item's</ i > </ a > block axis is calculated according to the < a
13301323 href ="http://www.w3.org/TR/CSS21/visuren.html#normal-flow "> normal
1331- flow</ a > . < span class =note > In the Positioned Layout Module this will be
1332- defined more precisely in terms of placeholders.</ span >
1324+ flow</ a > .
13331325
1334- < p > The marker's position in the < a href ="#ancestor-list-item "> < i > ancestor
1326+ < p > The marker's position in the < a href ="#ancestor-list-item "> < i > ancestor
13351327 list item's</ i > </ a > inline axis must be set such that the < a
13361328 href ="#marker-positioning-edge "> < i > marker positioning edge</ i > </ a > is
13371329 flush with the < a href ="#list-item-positioning-edge "> < i > list item
13381330 positioning edge</ i > </ a > .
13391331
1340- < p class =note > The purpose of this somewhat convoluted definition is to
1341- position the marker flush against its list item, and then when
1332+ < p class =note > Note: The purpose of this somewhat convoluted definition is
1333+ to position the marker flush against its list item, and then when
13421334 "marker-attachment:list-container", keep all the markers for a given list
13431335 on the same side of their list items even in mixed-direction text, so that
1344- authors can specify padding on only one side and still ensure their
1345- markers are visible. And on top of all that, do something sane in the face
1346- of potentially differing writing-modes on the marker, list item, and
1347- container.
1336+ authors can specify padding on only one side of the list container and
1337+ still ensure their markers are visible. And on top of all that, do
1338+ something sane in the face of potentially differing writing-modes on the
1339+ marker, list item, and container.
13481340
1349- < p > All elements or pseudo-elements with < code
1350- class =css > " position:marker" </ code > that share a common < a
1341+ < p > All elements or pseudo-elements with ‘ < code
1342+ class =css > position:marker</ code > ’ that share a common < a
13511343 href ="#ancestor-list-item "> < i > ancestor list item</ i > </ a > are known as < dfn
13521344 id =markers-associated-with-that-list-item title =associated-marker > markers
13531345 associated with that list item</ dfn > .
13541346
1355- < p > The ‘< code class =property > top</ code > ’, ‘< code
1347+ < p > The ‘< code class =property > top</ code > ’, ‘< code
13561348 class =property > right</ code > ’, ‘< code class =property > bottom</ code > ’,
13571349 and ‘< code class =property > left</ code > ’ properties specify offsets
13581350 relative to the top, right, bottom, and left edges (respectively) of the
13591351 element itself, similar to how relative positioning works.
13601352
13611353 < div class =example >
1362- < p > ‘< code class =css > position:marker</ code > ’ can be used when the
1354+ < p > ‘< code class =css > position:marker</ code > ’ can be used when the
13631355 precise list marker is important for the content, not a stylistic choice,
13641356 but the normal < em > appearance</ em > of lists is still desired. For
13651357 example, this trimmed snippet of the US Code of Laws may be marked up as
13661358 the following in HTML:
13671359
1368- < pre >
1369- <style>
1370- ol { list-style: none; }
1371- .marker { position: marker; }
1372- </style>
1373- <ol>
1374- <li>
1375- <span class='marker'> (a)</span> Definitions.— For purposes of this section—
1376- <ol>
1377- <li> <span class='marker'> (1)</span> the term “agency” means agency as...</li>
1378- <li> <span class='marker'> (2)</span> the term “individual” means a citizen...</li>
1379- </ol>
1380- </li>
1381- <li>
1382- <span class='marker'> (b)</span> Conditions of Disclosure.— No agency shall disclose...
1383- <ol>
1384- <li> <span class='marker'> (1)</span> to those officers and employees of the agency which...</li>
1385- <li> <span class='marker'> (2)</span> required under section 552 of this title;</li>
1386- </ol>
1387- </li>
1388- </ol> </ pre >
1360+ < pre > <!--
1361+ --> <style>
1362+ <!--
1363+ --> ol { list-style: none; }
1364+ <!--
1365+ --> .marker { position: marker; }
1366+ <!--
1367+ --> </style>
1368+ <!--
1369+ --> <ol>
1370+ <!--
1371+ --> <li>
1372+ <!--
1373+ --> <span class='marker'> (a)</span> Definitions.— For purposes of this section—
1374+ <!--
1375+ --> <ol>
1376+ <!--
1377+ --> <li> <span class='marker'> (1)</span> the term “agency” means agency as...
1378+ <!--
1379+ --> <li> <span class='marker'> (2)</span> the term “individual” means a citizen...
1380+ <!--
1381+ --> </ol>
1382+ <!--
1383+ --> <li>
1384+ <!--
1385+ --> <span class='marker'> (b)</span> Conditions of Disclosure.— No agency shall disclose...
1386+ <!--
1387+ --> <ol>
1388+ <!--
1389+ --> <li> <span class='marker'> (1)</span> to those officers and employees of the agency...
1390+ <!--
1391+ --> <li> <span class='marker'> (2)</span> required under section 552 of this title;
1392+ <!--
1393+ --> </ol>
1394+ <!--
1395+ --> </ol> </ pre >
13891396
1390- < p > The preceding document should render something like this:
1397+ < p > The preceding document should render something like this:
13911398
1392- < pre >
1393- (a) Definitions.— For purposes of this section—
1394- (1) the term “agency” means agency as...
1395- (2) the term “individual” means a citizen...
1396- (b) Conditions of Disclosure.— No agency shall disclose...
1397- (1) to those officers and employees of the agency which...
1398- (2) required under section 552 of this title;</ pre >
1399-
1400- < p > Importantly, it will < strong > always</ strong > be presented something
1401- like that, with those exact list markers, even if the stylesheet is
1402- unavailable, so other documents can refer to those list markers and be
1399+ < pre > <!--
1400+ --> (a) Definitions.— For purposes of this section—
1401+ <!--
1402+ --> (1) the term “agency” means agency as...
1403+ <!--
1404+ --> (2) the term “individual” means a citizen...
1405+ <!--
1406+ --> (b) Conditions of Disclosure.— No agency shall disclose...
1407+ <!--
1408+ --> (1) to those officers and employees of the agency...
1409+ <!--
1410+ --> (2) required under section 552 of this title;</ pre >
1411+
1412+ < p > Importantly, even if the stylesheet is unavailable, the list markers
1413+ will appear the same (though they will be positioned slightly
1414+ differently), so other documents can refer to those list markers and be
14031415 confident that the reference will always be resolvable.
14041416 </ div >
14051417
0 commit comments