The CSS1 [CSS1] specification was the first one to offer a replacement for the HTML’s [HTML32] type attribute on the ol element (see section on ordered lists) by introducing the list-style-type property. The CSS2 [CSS2] specification expanded the list of the possible list-style-type values by adding a number of property values such as the values for Hebrew, Armenian, Japanese, and other numbering systems. At the same time both of the above-mentioned recommendations provided neither an exact calculation mechanism for each numbering system, nor mechanisms for resolving the wrapping of some systems at the end of the alphabet. The Working Draft of the CSS3 Module: Lists [CSS3-Lists] offers a broader list of list-style-type values but the issues raised by the previous Recommendations remain open. This note describes some possible additions and corrections to the CSS3 Module: Lists [CSS3-Lists] which are likely to help UA implementers and document authors to more precisely control the presentation of lists on the Web.
list-style-end Propertylist-style-type Valueslist-style-type Property
This note examines some of the issues of the CSS3 Module: Lists [CSS3-Lists] which remain (at least until now) unsolved. The issues and the proposals addressed by this note are as follows:
list-style-type armenian value and the corresponding correction.The authors recommend the addition of list style types to support the literal traditions of languages employing the Cyrillic, Ethiopic, Coptic, and Armenian scripts. As numerous languages utilize these scripts as systems of writing it has become evident to the authors that list style type identifiers must be localized at the level of language and not script. This is in keeping with the reality of script as a mechanism for recording spoken language and that script usage is adapted and developed as per the needs of the language recorded.
The overwhelming majority of the existing Cyrillic alphabets originates from the Russian type alphabet introduced by Peter the First in 1708 (using Old Slavonic as a foundation). The remaining Cyrillic alphabets originate from the Old Slavonic alphabet itself implemented by St. Cyrill and St. Methodius which in its turn originates from Greek vestry books and some other alphabets. The alphabets of the nations located on the territories of the former USSR are mainly based on the modern Russian alphabet.
This is the unexhaustive list of Cyrillic alphabets though the authors consider it to be quite comprehensive. There probably are other alphabets especially on the territory of the former USSR but their inclusion into this table at this point seems to be inappropriate as they’ve been used by an extremely small number of speakers.
Note on this table: the first column gives the names of the languages (either the actual translated name or the guess of the author — for rare languages), the second lists the ISO 639 codes (if exists), the third gathers the notes on previously used scripts (this is to know if there is a secondary alphabetic need), the fourth indicates whether the alphabet of the corresponding language is based on the modern Russian alphabet (with the necessary modifications) or not, the fifth reports the number of native speakers (mostly approximate numbers but from normative sources, this column could be used to select the alphabets for the inclusion), the sixth specifies the probability of reverting to the previously used script (this is the author’s guess based on the media reports and might not reflect the immediate situation) and the last column contains the related notes.
All the following languages use Cyrillic script unless explicitly marked as using another.
| Language | ISO639 | Previously used scripts | Russian based (yes/no) | Native speakers | Probability of reverting to previous script | Notes |
|---|---|---|---|---|---|---|
| Abazin | none | unknown | Y | 30,000 | N/A | – |
| Abkhazian | none | unknown | Y | 115,000 | N/A | – |
| Adyghe | none | unknown | Y | 120,000 | N/A | Latin script already? |
| Agul | none | N/A | Y | 15,000 | N/A | Russian based alphabet is being implemented |
| Altaian | none | unknown | Y | 59,000 | N/A | – |
| Alyutor | none | unknown | unknown | 2,000 | N/A | Script? |
| Avar | none | unknown | Y | 600,000+ | N/A | – |
| Azerbaijani | az | before 1929: Arabic based script, 1929–1939: Latin based Azerbaijani alphabet, 1939–1991: Russian based, since 1991: Latin based Azerbaijani alphabet restored | N | 7,570,000+ | 0% | Currently uses Latin script |
| Bashkir | ba | unknown | Y | 864,000 | N/A | Latin script already? |
| Belorussian | be | Russian type | N | 10,000,000 | N/A | – |
| Bezhta (Bezhitin, Kapuchin) | none | unknown | unknown | unknown | N/A | – |
| Bezhitin | see Bezhta | |||||
| Bulgarian | bg | unknown | N | 8,450,000 | N/A | Slavonic based alphabet |
| Buryat | ? | unknown | Y | 520,000 | N/A | – |
| Chechen | ce | unknown | Y | 957,000 | N/A | Under the terrorist regime there were plans to introduce Latin based alphabet (fortunately unsuccessful) |
| Chukchi (Luoravetlan) | none | unknown | Y | 15,100 | N/A | – |
| Church Slavonic | cu | Old Slavonic’s Cyrillic alphabet | N/A | N/A | N/A | Used in churches in multiple countries. Varies across countries. |
| Chuvash | cv | unknown | Y | 1,842,000 | N/A | – |
| Crimean Tartar | ? | Ancient Arabic based script | Y | 272,000 | unknown | – |
| Croatian | see Serbo-Croat | |||||
| Cyrillic alphabet | see Old Slavonic | |||||
| Dargwa | none | unknown | Y | 365,000 | N/A | – |
| Dungan | none | unknown | Y | 70,000 | N/A | – |
| Enetz | none | unknown | N/A | 200 | N/A | No written language, mentioned for completeness (Taimyr autonomous okrug) |
| Erzya-Mordvinian | none | unknown | Y | unknown | N/A | – |
| Eskimo | ? | unknown | Y | 38,000 (USA), 28000 (Canada), 47000 (Greenland), 1700 (Russia) | N/A | Russian based script in Russia, Latin script in the USA, Canada, and Greenland |
| Even (Lamut) | none | unknown | Y | 17,000 | N/A | – |
| Evenki (Tungus) | none | unknown | Y | 64,900 | N/A | – |
| Gagauz | none | unknown | Y | 220,000 | N/A | Latin script in Romania? |
| Glagolitic alphabet | see Old Slavonic | |||||
| Godoberi | none | unknown | unknown | unknown | N/A | – |
| Ingush | none | unknown | Y | 237,000 | N/A | – |
| Itelmen | none | unknown | Y | 2,500 | N/A | – |
| Izhor | none | none | N/A | 756 | N/A | No written language, mentioned here due to the residence in the former USSR (Leningrad oblast and Estonia) |
| Kabardian-Circassian | none | unknown | Y | 386,000 | N/A | Latin script already? |
| Kalmyk (Kalmuck) | none | Ancient Mongolian based script, currently Russian based alphabet | Y | 166,000 | N/A | – |
| Kalmuck | see Kalmyk | |||||
| Kapuchin | see Bezhta | |||||
| Karachay-balkar | none | unknown | Y | 150,000 | N/A | Latin script already? |
| Kara-Kalpak | none | unknown | Y | 400,000 | N/A | – |
| Karelian | none | Russian based? | N | 131,000 | unknown | Latin based alphabet since 1992. Previously used alphabet — possibly Russian |
| Kazakh | kk | unknown | Y | 9,420,000 | N/A | – |
| Kerek | none | none | N/A | unknown | N/A | Mentioned for completeness, no written language |
| Ket | none | none | Y | 1,000 | N/A | The alphabet was developed in 1970–1980s |
| Khakas | none | unknown | Y | 79,000 | N/A | – |
| Khanty | none | unknown | Y | 22,300 | N/A | – |
| Khinalug | none | unknown | unknown | unknown | N/A | – |
| Khvarshi | none | unknown | unknown | unknown | N/A | – |
| Kirghiz | ky | unknown | Y | 2,661,000 | N/A | – |
| Komi Permian | kv | unknown | Y | 147,000 | N/A | – |
| Komi Zyryan | kv | unknown | Y | 336,000 | N/A | – |
| Koryak | none | unknown | Y | 9,000 | N/A | – |
| Kumyk | none | unknown | Y | 282,000 | N/A | – |
| Kurdish | ku | unknown | Y | 18,000,000 | N/A | Russian based alphabet on the former USSR territory, Arabic based script in Iraq |
| Lak | none | unknown | Y | unknown | N/A | – |
| Lamut | see Even | |||||
| Lappish | see Sami | |||||
| Lezgian (Lezgin) | none | unknown | Y | unknown | N/A | – |
| Luoravetlan | see Chukchi | |||||
| Macedonian | mk | Cyrillic alphabet | N | 1,770,000 | N/A | – |
| Mansi | none | unknown | Y | 8,300 | N/A | – |
| Mari, lugovo-vostochniy (meadow-east) | none | unknown | y | 644,000 | N/A | – |
| Mari, gorno-mariyskiy (hill-mari) | ||||||
| Moksha | none | unknown | Y | unknown | N/A | – |
| Moldavian | mo | Before XIX century: Cyrillic, since XIX century: Russian type, 1932–1939: Latin script, since 1939: Russian alphabet | Y | 3,350,000 | worth mentioning | In 1989 a government regulation ordered to revert to Latin script, but since they’re fighting with Romanians (who use Latin script) they decided to ignore that act of law |
| Mongol | ? | Since XII–XIII centuries: adopted Uigur | Y | 1,640,000 (Mongolia), 5,240,000 (China) | unknown | Russian based alphabet since 1945 |
| Nanai | none | unknown | Y | 17,000 | N/A | – |
| Nenets (Urako-Samoed) | none | unknown | Y | 34,500 | N/A | – |
| Ngasan | none | unknown | unknown | 1,300 | N/A | Mentioned here for completeness, script? |
| Nivkh | none | unknown | Y | 4,600 | N/A | – |
| Nogai | none | unknown | Y | 75,000 | N/A | – |
| Old Slavonic (Cyrillic and Glagolitic) | ? | Cyrill’s and Methodius’ translations of Greek vestry books | N/A | N/A | N/A | Utilizes two alphabets: Cyrillic and Glagolitic, both contain letters used as numbers and special combining characters to use with big numbers. Dates from IX–XI centuries. |
| Oroche | none | none | N/A | 915 | N/A | No written language, mentioned for completeness (Primorskiy and Khabarovskiy Krais) |
| Ossetian | os | unknown | Y | 598,000 | N/A | – |
| Russian | ru | Since IX–XI centuries: Old Slavonic, since 1708: Russian type, since 1918 present alphabet | N/A | 250,000,000 | N/A | In Russia it is common not to use certain letters in list numbering |
| Russian type | ? | Since IX–XI centuries: Old Slavonic | N/A | N/A | N/A | Derived from Old Slavonic, reformed by Peter the First |
| Rutul | none | unknown | unknown | 19,500 | N/A | – |
| Sami (Lappish) | ? | unknown | Y | 30,000 (Norway), 15,000 (Sweden), 5,000 (Finland), 2,000 (Russia) | N/A | Russian alphabet in Russian, Latin script in other countries |
| Selkup | none | unknown | Y | 3,600 | N/A | The alphabet, the script are unstable (has not been used since mid 1950s) |
| Serbo-Croatian (Serbian, Croatian) | sb | unknown | N | 10,160,000 | N/A | Based on two alphabets: Russian type and Latin |
| Shor | none | unknown | Y | 16,000 | N/A | – |
| Tabassaran | none | unknown | Y | 98,000 | N/A | – |
| Tajik | none | Ancient Arabic based script | Y | 8,280,000 | N/A | – |
| Tartar | tt | Ancient Arabic based script | Y | 6,710,000 | 49% | There are plans to introduce Latin script along with official Russian language |
| Tati | none | unknown | Y | unknown | N/A | – |
| Tsakhur | none | unknown | unknown | 13,000 | N/A | – |
| Tsez | none | unknown | unknown | unknown | N/A | – |
| Tungus | see Evenki | |||||
| Tuvin | none | unknown | Y | 207,000 | N/A | – |
| Udi | none | unknown | unknown | 8,000 | N/A | – |
| Udmurt | none | unknown | Y | 714,800 | N/A | – |
| Ukrainian | uk | unknown | N | 46,000,000 | N/A | Russian type based alphabet |
| Urako-Samoed | see Nenets | |||||
| Uzbek | none | Ancient Arabic based script | Y | 18,500,000 | N/A | – |
| Vepps(e) | none | was not widespread | unknown | 13,000 | N/A | New alphabet is being implemented |
| Vods | none | unknown | unknown | unknown | N/A | – |
| Yakut | none | unknown | Y | 382,000 | N/A | – |
| Yukagir | none | unknown | unknown | 1,100 | N/A | Here for completeness, script? |
Ethiopic writing traditions make use of alphabetic and numeric list styles. There are no fewer than 65 million people speaking as many as 80 languages that may employ Ethiopic script. Orthography practices have evolved to different degrees with each language and each recognizes “Ge’ez” script as the underlying classical form (as “Latin” script underlies western script in Europe). Amharic and Tigriñña are identified as having the largest number of speakers as well as the largest corpus of printed and electronically published materials and uniquely identifiable writing conventions. In addition to the classic Ethiopic list style, specific list styles types to accommodate the practices of these major languages are recommended.
Many additional languages use or have used Ethiopic script. However, it is not known by the authors if the practice of alphabetic lists is employed or in what form. A limited survey of the user communities of a few of the languages did indeed find a strong desire for list style support under the direct syllabary use by the user's language. Further investigation should be undertaken here.
The following table presents the languages of Eritrea and Ethiopia as tracked by the SIL Ethnologue and indicates script use where known. Script use information has also been provided by the SIL as well as government sources of Eritrea and Ethiopia. Mother tongue populations are also drawn from the Ethnologue which in turn draws largely from 1997 and 1998 census data of Eritrea and Ethiopia respectively. Both Latin and Ethiopic script will be found in cases where Latin script has come into official use over Ethiopic script in the relatively recent past.
| Language | ISO-639 | Uses Ethiopic Presently/Previously |
Native Speakers | Nation(s) | Notes |
|---|---|---|---|---|---|
| Aari | none | Y / Y | 158,857 | ET | Small corpus. |
| Afar (Dankali) |
aa | N / Y | 1,279,367 | DJ, ER, ET, SO |
An additional 300,000+ speakers are outside of Eritrea and Ethiopia. Small Ethiopic corpus (100-1,000 documents). |
| Agaw (Kemant) |
none | Y / Y | 1,650 | ET | ISO-10646/Unicode does not fully support Agaw, however, alphabetic lists may be formed. |
| Agaw (Awngi) |
none | Y / Y | 356,980 | ET | ISO-10646/Unicode does not fully support Agaw, however, alphabetic lists may be formed. |
| Agaw (Xamtanga) |
none | Y / Y | 143,369 | ET | ISO-10646/Unicode does not fully support Agaw, however, alphabetic lists may be formed. |
| Alaba | none | unknown | 126,247 | ET | |
| Amharic | am | Y / Y | 17,413,000 | ET | Very large corpus. |
| Anfillo | none | unknown | 500 | ET | |
| Anuak | none | L / unknown | 45,646 | ET, SU | An additional 52,000 speakers are in the Sudan. |
| Arbore | none | unknown | 4,441 | ET | |
| Argobba | none | Y / Y | 10,860 | ET | Small corpus. |
| Baiso | none | unknown | 1,010 | ET | |
| Bambassi | none | unknown | 5,000 | ET | |
| Bare | none | unknown | N/A | ET | Nearly extinct or extinct. |
| Basketto | none | unknown | 57,805 | ET | |
| Bedawi (Beja) |
none | N / unknown | 120,000 | EG, ER, SU |
An additional 1,028,000 speakers are outside of Eritrea. |
| Bench | none | Y / Y | 173,805 | ET | ISO-10646/Unicode does not fully support Bench, alphabetic lists can not be formed. Small corpus. |
| Berta | none | unknown | 124,799 | ET, SU | An additional 22,000 speakers are in the Sudan. |
| Bilen | none | Y / Y | 70,000 | ER | ISO-10646/Unicode does not fully support Bilen, however, alphabetic lists may be formed. Medium corpus (1,000 - 10,000 documents). |
| Birale | none | unknown | 20 | ET | Nearly extinct. |
| Boro | none | unknown | 19,878 | ET | |
| Burji | none | unknown | 35,731 | ET, KE | An additional 7,000 speakers are in Kenya. |
| Bussa | none | unknown | 6,624 | ET | |
| Chara | none | unknown | 6,932 | ET | |
| Daasanech | none | unknown | 32,064 | ET, KE | An additional 2,500 speakers are in Kenya. |
| Dime | none | unknown | 6,501 | ET | |
| Dirasha | none | unknown | 50,328 | ET | |
| Dizi | none | unknown / Y | 21,075 | ET | Small corpus. |
| Dorze | none | unknown | 20,782 | ET | |
| Gafat | none | unknown | 0 | ET | Bible portions translated in 1945, the script used is unknown. |
| Gamo-Goffa-Dawro | none | N / unknown | 1,236,637 | ET | |
| Ganza | none | unknown | N/A | ET | Nearly extinct. |
| Gawwada | none | unknown | 32,698 | ET | |
| Ge'ez | none | Y / Y | 0 | ER, ET | An extinct language analagous to Latin. Is a second language to over 50,000, a corpus of over 10,000 documents exists. |
| Gedeo | none | N / Y | 639,082 | ET | Small corpus. |
| Gumuz | none | Y / Y | 120,424 | ET, SU | An additional 40,000 speakers are in the Sudan. Small corpus. |
| Gurage (Chaha) |
none | Y / Y | 798,202 | ET | ISO-10646/Unicode does not fully support Chaha, alphabetic lists can not be formed. Medium corpus. |
| Gurage (Silte) | none | Y / Y | 827,764 | ET | Medium corpus. |
| Gurage (Sodo) | none | Y / Y | 254,682 | ET | Medium corpus. |
| Hadiyya | none | N / Y | 923,958 | ET | Small corpus. |
| Hammer-Banna | none | Y / unknown | 42,838 | ET | |
| Harari (Adari) |
none | Y / Y | 21,283 | ET | Small corpus. |
| Hozo | none | unknown | 3,000 | ET | |
| Kachama | none | unknown | 4,072 | ET | |
| Kacipo-Balesi | none | unknown | 2-3,000 | ET, SU | An additional 5,000 speakers are in the Sudan. |
| Kaficho (Kaffa) | none | N / Y | 569,626 | ET | Small Ethiopic corpus. |
| Kambaata | none | N / Y | 606,241 | ET | Small Ethiopic corpus. |
| Karo | none | unknown | 200 | ET | |
| Kebena | none | Y / Y | 606,241 | ET | Small corpus. |
| Komo | none | Y / N | 1,500 | ET, SU | An additional 10,000 speakers are in the Sudan. Small Ethiopic corpus. |
| Komso | none | Y / unknown | 149,508 | ET | Small corpus. |
| Koorete | none | Y / N | 103,879 | ET | Small Ethiopic corpus. |
| Kunama (Baza) | none | N / Y | 142,000 | ER | Small Ethiopic corpus. |
| Kunfal | none | unknown | N/A | ET | |
| Kwama | none | unknown | 15,000 | ET | |
| Kwegu | none | unknown | 103 | ET | |
| Libido | none | unknown | 36,612 | ET | |
| Majang | none | Y / unknown | 15,341 | ET | Small corpus. |
| Male | none | Y / unknown | 53,779 | ET | Small corpus. |
| Me'en | none | Y / unknown | 56,585 | ET | Small corpus. |
| Melo | none | unknown | 20,151 | ET | |
| Mesmes | none | unknown | N/A | ET | Extinct or nearly extinct? |
| Murle | none | unknown | 200 | ET, SU | Additional population of 60,000 in Sudan. |
| Mursi | none | unknown | 3,278 | ET | |
| Nara | none | N / unknown | 63,000 | ER | Also spoken in Sudan? |
| Nayi | none | unknown | 3,656 | ET | |
| Nuer | none | unknown | 64,907 | ET, SU | An additional 740,000 speakers are in the Sudan. |
| Nyangatom | none | unknown | 14,177 | ET | |
| Opuuo | none | unknown | 301 | ET, SU | Population figure is for both nations. |
| Oromo (Borana-Arusi-Guji) |
om | N / Y | 3,634,000 | ET, KE, SO |
An additional 152,000 speakers are outside of Ethiopia. Latin is used officially in government, courts and schools, Ethiopic use continues, medium corpus. |
| Oromo (Qotu) |
om | N / Y | 4,526,000 | ET | Latin is used officially in government, courts and schools, Ethiopic use continues. Medium corpus. |
| Oromo (Western-Central) |
om | N / Y | 8,920,000 | ET | Latin is used officially in government, courts and schools, Ethiopic use continues. Medium corpus. |
| Oyda | none | unknown | 16,597 | ET | |
| Saho | none | N / Y | 166,750 | ER, ET | Small corpus. |
| Seze | none | unknown | 3,000 | ET | |
| Shabo | none | unknown | 400-1,000 | ET | |
| Shakacho | none | N / unknown | 54,894 | ET | |
| Sheko | none | unknown | 23,785 | ET | |
| Sidamo | none | N / Y | 1,876,329 | ET | ISO-10646/Unicode does not fully support Sidamo, alphabetic lists can not be formed. Latin is used in government and schools, Ethiopic use continues. Small corpus. |
| Somali | so | N / Y | 3,187,053 | DJ, ET, KE, SO |
An additional 6,500,000+ speakers are outside of Ethiopia. Small Ethiopic corpus. |
| Suri | none | Y / Y | 19,622 | ET, SU | An additional 1,000 speakers are in the Sudan. Small Ethiopic corpus. |
| Tigre (Bedo) | none | Y / Y | 800,000 | ER, SU | Population figure is for Eritrea only. Small corpus. |
| Tigrinya | ti | Y / Y | 5,135,000 | ER, ET | Very large corpus. |
| Tsamai | none | unknown | 8,621 | ET | |
| Uduk | none | N / unknown | 20,000 | ET, SU | Population figure is for both countries. |
| Weyto | none | unknown | 0 | ET | Extinct. |
| Wolaytta | none | N / Y | 1,231,673 | ET | Small Ethiopic corpus. |
| Yemsa | none | unknown / Y | 81,613 | ET | Present Ethiopic use is assumed. Small corpus. |
| Zay | none | unknown | 4,880 | ET | |
| Zayse-Zergulla | none | unknown | 17,797 | ET |
This note also recommends simplification of the name conventions previously recommended for Ethiopic list styles (Section 5) as follows:
| Old Name | New Name |
|---|---|
ethiopic-halehame |
ethiopic |
ethiopic-abegede |
ethiopic-abegede |
ethiopic-numeric |
ethiopic-numeric |
ethiopic-halehame-am |
amharic |
ethiopic-halehame-ti-er |
tigrinya-er |
ethiopic-halehame-ti-et |
tigrinya-et |
It is believed that the simplifications will be more intuitive and “user friendly” for web designers to work with.
Coptic script is derived from Greek and Demotic scripts and has been used exclusively for the Coptic language. The script is vital to Coptic liturgy which depends on a software’s capability to correctly present Coptic numerals. A numeric list style for Coptic along with lowercase and uppercase alphabetic sytles are recommended.
Developers should note that Coptic will split off from the combined Coptic-Greek range of Unicode in a future revision of the Unicode standard. The Coptic elements shared with Greek will then have their own code points thus resolving the typeface disparity between the two writing systems.
armenian Value of the list-style-type PropertyThe research carried out by Musheg Arakelyan showed that the existing armenian value of the list-style-type property is not sufficient. It should be noted first that Armenian alphabet uses both capital and small letters, that is why the presence of only one value in the CSS2 [CSS2] spec (and in the current CSS3 [CSS3-Lists] draft) is incorrect.
The traditional Armenian numbering uses small letters, that is why Musheg presumes that the current armenian value should be preserved within the spec, but for future use the new values of lower-armenian and upper-armenian could be introduced.
Musheg investigated a lot of normative documents where the numbers are set using Armenian letters. The current practice is documented in this note. The exact mechanism of calculating Armenian numbering is rather complex, and it is known that at least Mozilla 0.98 incorrectly implements this system. That is another reason for introducing clear definitions in the CSS3.
At this moment the authors can provide no information on whether other non-Cyrillic systems, particularly Georgian, use both capital and small letters for numbering or not.
The CSS standard until now define no means to specify customized lists. The only possible solution with current CSS3 Module: Lists [CSS3-Lists] is to specify every list item via the ::list-marker pseudo-element and the content property. Unfortunately this approach is not sufficient as list items are often combined and used as a basis for other values (that is, the string datatype is inappropriate). Authors of this note propose three possible solutions that are desribed below.
list-style-items Property, v. 1| Name: | list-style-items |
| Value: | [<urange> [, <urange>]*] | none |
| Initial: | none |
| Applies to: | all elements with ‘display: list-item’ |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
| Computed value: | specified value |
The list-style-items property can be used to specify user-defined list in case there’s no appropriate numbering system in this specification or no such numbering system could be provided in principle.
For example, authors may want to specify the numbering system consisting of the following markers: “First”, “Second”, “Third”. Apparently, this system is not included into CSS Lists, thus the list-style-items may be used to define such a system.
Note: authors should use the Unicode [Unicode3] values for any circumstances.
The example for the above-mentioned system when applied to the XHTML code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>List Tests</title>
<style type="text/css">
ol { list-style-items: U+0046-0069-0072-0073-0074,
U+0053-0065-0063-006f-006e-0064,
U+0054-0068-0069-0072-0064; }
li::list-marker { content: counter(list-item) ". " }
</style>
</head>
<body>
<ol>
<li><p>Tea</p></li>
<li><p>Sugar</p></li>
<li><p>Milk</p></li>
</ol>
</body>
</html>
Produces the following result on rendering:
First. Tea
Second. Sugar
Third. Milk
Note that in practice the content property could not be used to fully customize lists. Also note that the use of the list-style-items property in theory removes the need for elements like HTML’s [HTML32] ol and ul. Authors should not inappropriately use this property and the semantics of HTML [HTML32] (or any other language) should be preserved, i. e. authors should not make the elements look like unordered lists if they are naturally placed in some order.
Other disadvantages of this property are:
list-style-items Property, v. 2| Name: | list-style-items |
| Value: | [[ <integer>(<string>) | <identifier> ],]* [<integer>(<string>) | <identifier>] | none |
| Initial: | none |
| Applies to: | all elements with ‘display: list-item’ |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
| Computed value: | specified value |
integer represents a list item number to which the list item (the string) is applied and the identifier is meant to be a name for the new list.
With such system you cannot use the urange property to desribe long lists.
The example for the above-mentioned system when applied to the XHTML code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>List Tests</title>
<style type="text/css">
ol { list-style-items: 1("First"), 3("Third"), 10("Tenth") ordinal; }
list-style-type: decimal;
list-style-type: ordinal;
li::list-marker { content: counter(list-item) ". " }
</style>
</head>
<body>
<ol>
<li><p>Tea</p></li>
<li><p>Sugar</p></li>
<li><p>Milk</p></li>
…
<li><p>Cookie</p></li>
<li><p>Toast</p></li>
</ol>
</body>
</html>
Produces the following result on rendering:
First. Tea
2. Sugar
Third. Milk
…
Tenth. Cookie
11. Toast
Be sure to define the appropriate items before referring to the list by newly created name.
@listOn the whole lists on the web in many cases seem to be as complex as fonts, that’s why CSS3 Lists Module [CSS3-Lists] authors might want to consider the possibility of adding a new at-rule to the spec. It would make the addition of new lists extremely simply and convenient:
Here follows the list of possible descriptors:
@list {
unicode-range: U+0302, U+0561-0584; /* Prepare the necessary fonts */
list-items: U+0561 1,
U+0562 2,
U+0563 3,
U+056a-0561 11,
U+0584-057b-0572-0569 9999;
list-name: mynewlist; /* The name to refer via list-style-type */
list-calculation: sum; /* How to deal with multiple values in a row */
list-missing-items: decimal; /* Place something instead of missing values */
etc.
}
or even
@list {
src: url("http://www.geez.org/lists/ethiopian") /* According to RFCNNNN */
}
If more details are needed on various calculation mechanisms authors suggest to refer to section 8.4.
list-style-end PropertyNone of the CSS specifications provided a means to define what happens to a numbering system when it reaches its end. For example, after 26 list items, lower-latin rendering is undefined. We believe a property could be added to CSS3 Lists Module [CSS3-Lists] to address this issue. The list-style-end property documents the current practice and adds possible values for better control over long lists.
| Name: | list-style-end |
| Value: | radix | last-character | reset | none | inherit |
| Initial: | radix |
| Applies to: | all elements with ’display: list-item’ |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
| Computed value: | specified value |
This property defines the list’s behavior after all the list markers are over (e. g., after the letter ‘z’ is assigned to the 26th item for lower-latin). Values have the following meanings:
The item lists is used as a numeral system where the radix is the length of the list. This is the default behavior.
Consider the following fragment:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>List Tests</title>
<style type="text/css">
ol { list-style-end: radix;
list-style-type: lower-latin; }
</style>
</head>
<body>
<ol>
<li><p>List item 1</p></li>
<li><p>List item 2</p></li>
<li><p>List item 3</p></li>
…
<li><p>List item 25</p></li>
<li><p>List item 26</p></li>
<li><p>List item 27</p></li>
<li><p>List item 28</p></li>
…
<li><p>List item 52</p></li>
<li><p>List item 53</p></li>
<li><p>List item 54</p></li>
…
<li><p>List item 675</p></li>
<li><p>List item 676</p></li>
<li><p>List item 677</p></li>
</ol>
</body>
</html>
Will render something like:
a. List item 1
…
y. List item 25
z. List item 26
aa. List item 27
ab. List item 28
ac. List item 29
…
az. List item 52
ba. List item 53
bb. List item 54
…
zy. List item 675
zz. List item 676
aaa. List item 677
aab. List item 678
aac. List item 679
The numbering mechanism infinitely repeats the last character declared either in this specification or via the list-style-items property. This might be the case for some numbering systems, such as Old Slavonic (Glagolithic and Cyrillic alphabets) numbers, the last character of such numbering systems actually does not have a corresponding number, but an abstract name (e. g. “many”).
If you replace the value of the list-style-end property with the last-character value the rendering might produce the following result:
a. List item 1
…
y. List item 25
z. List item 26
z. List item 27
…
z. List item 678
z. List item 679
The numbering mechanism is reset, i. e. the numbering repeats from the very beginning.
Replacing the list-style-end value with reset results in the following:
a. List item 1
b. List item 2
…
y. List item 25
z. List item 26
a. List item 27
…
z. List item 52
a. List item 53
…
a. List item 677
b. List item 678
c. List item 679
No characters are rendered.
Assigning the none value to the list-style-end property defines the behavior:
a. List item 1
b. List item 2
…
y. List item 25
z. List item 26
List item 27
…
List item 53
…
List item 678
List item 679
list-style-type ValuesThis section provides a brief summary for the proposed values to be added to the upcoming CSS3 Lists [CSS3-Lists].
The exact mechanisms for calculating each of the above mentioned system is discussed later in this document. The members of the WG might want to consider the inclusion of other Cyrillic numbering systems into the CSS3 Lists [CSS3-Lists] draft. The list of such systems is provided in the Section 1. This note provides almost no information on the numbering systems of the alphabet that are excluded from this section. If the WG believes this information is necessary either the authors of this document or the WG itself can inquire into this matter. More on this can be found in Section 8.
list-style-type PropertyAlthough the current CSS Recommendations define no means to calculate various numbering system authors of this note offer a sample way to define some of the numbering systems mentioned in the CSS2 [CSS2] specification and in the current CSS3 Lists [CSS3-Lists] Working Draft.
The above-mentioned definitions of the list-style-type property values provided quick, accessible and easy-to-read descriptions for each of the value (these can be included into the spec for non-technical readers) at the same time leaving the actual implementation solely at the discretion of the developer. This practice is not possible in case Cyrillic (particularly Russian) lists are introduced. The following sections provide technical readers with the exact definitions of the list-style-type values.
The actual Unicode values for the list-style-type values are (sample rendering in brackets):
hebrew, georgian, cjk-ideographic, simp-chinese-formal, simp-chinese-informal, trad-chinese-formal, trad-chinese-informal, japanese-formal, japanese-informal, arabic-indic, persian, devanagari, gurmukhi, gujarati, kannada, malayalam, bengali, tamil, telugu, thai, lao, myanmar, khmer, urdu, oriya.
Please see section 8.3 for more information on them.
This section provides more complete descriptions for all the list-style-type values.
list-style-end property is radix. Nine digits are employed, Unicode range: U+0030-0039.| English Name | Digit | Unicode Value |
|---|---|---|
| Zero | 0 | U+0030 |
| One | 1 | U+0031 |
| Two | 2 | U+0032 |
| Three | 3 | U+0033 |
| Four | 4 | U+0034 |
| Five | 5 | U+0035 |
| Six | 6 | U+0036 |
| Seven | 7 | U+0037 |
| Eight | 8 | U+0038 |
| Nine | 9 | U+0039 |
decimal system. The values of the initial first nine values are rendered with leading zeros. Can be easily deprecated. See section 7 for more information.| Decimal Number | Roman Number | Unicode Value |
|---|---|---|
| 1 | i or I | U+0069 or U+0049 |
| 5 | v or V | U+0076 or U+0056 |
| 10 | x or X | U+0078 or U+0058 |
| 50 | l or L | U+006c or U+004c |
| 100 | c or C | U+0063 or U+0043 |
| 500 | d or D | U+0064 or U+0044 |
| 1000 | m or M | U+006d or U+004d |
The highest possible value is 3999 (MMMCMXCIX) due to limitations of the system (only three same characters are allowed in a row). If the character on the left of the given character is of lower value it is subtracted from the given character, it is is on the right it is added to the given character. The recommended practice of rendering values higher than 3999 is to use decimal system with radix. Thus the implementaion that supports these values should also support decimal. One of the values can be deprecated.
list-style-end value is radix.
list-style-end value is radix. Unicode range: U+0041-005a, U+0061-007a. Three values can be deprecated.
| Dec. | Uni. | Samp. | Dec. | Uni. | Samp. | Dec. | Uni. | Samp. | Dec. | Uni. | Samp. |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | U+0561 | ա | 10 | U+056a | ժ | 100 | U+0573 | ճ | 1000 | U+057c | ռ |
| 2 | U+0562 | բ | 20 | U+056b | ի | 200 | U+0574 | մ | 2000 | U+057d | ս |
| 3 | U+0563 | գ | 30 | U+056c | լ | 300 | U+0575 | յ | 3000 | U+057e | վ |
| 4 | U+0564 | դ | 40 | U+056d | խ | 400 | U+0576 | ն | 4000 | U+057f | տ |
| 5 | U+0565 | ե | 50 | U+056e | ծ | 500 | U+0577 | շ | 5000 | U+0580 | ր |
| 6 | U+0566 | զ | 60 | U+056f | կ | 600 | U+0578 | ո | 6000 | U+0581 | ց |
| 7 | U+0567 | է | 70 | U+0570 | հ | 700 | U+0579 | չ | 7000 | U+0578 U+0582 | ու |
| 8 | U+0568 | ը | 80 | U+0571 | ձ | 800 | U+057a | պ | 8000 | U+0583 | փ |
| 9 | U+0569 | թ | 90 | U+0572 | ղ | 900 | U+057b | ջ | 9000 | U+0584 | ք |
| Dec. | Uni. | Samp. | Dec. | Uni. | Samp. | Dec. | Uni. | Samp. | Dec. | Uni. | Samp. |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | U+0531 | Ա | 10 | U+053a | Ժ | 100 | U+0543 | Ճ | 1000 | U+054c | Ռ |
| 2 | U+0532 | Բ | 20 | U+053b | Ի | 200 | U+0544 | Մ | 2000 | U+054d | Ս |
| 3 | U+0533 | Գ | 30 | U+053c | Լ | 300 | U+0545 | Յ | 3000 | U+054e | Վ |
| 4 | U+0534 | Դ | 40 | U+053d | Խ | 400 | U+0546 | Ն | 4000 | U+054f | Տ |
| 5 | U+0535 | Ե | 50 | U+053e | Ծ | 500 | U+0547 | Շ | 5000 | U+0550 | Ր |
| 6 | U+0536 | Զ | 60 | U+053f | Կ | 600 | U+0548 | Ո | 6000 | U+0551 | Ց |
| 7 | U+0537 | Է | 70 | U+0540 | Հ | 700 | U+0549 | Չ | 7000 | U+0548 U+0552 | ՈՒ |
| 8 | U+0538 | Ը | 80 | U+0541 | Ձ | 800 | U+054a | Պ | 8000 | U+0553 | Փ |
| 9 | U+0539 | Թ | 90 | U+0542 | Ղ | 900 | U+054b | Ջ | 9000 | U+0554 | Ք |
Adding the ̂ (COMBINING CIRCUMFLEX ACCENT, U+0302) sign above a number mupltiplies it by 1000. Due to this limitation the highest number possible with Armenian systems is 9 999 999 (ք̂ջ̂ղ̂քջղթ or Ք̂Ջ̂Ղ̂ՔՋՂԹ). 10 000 000 cannot be written using these systems.
Important note: conforming user agents should render the COMBINING CIRCUMFLEX ACCENT character above the 7000 number (ու - U+0578 U+0582 or ՈՒ - U+0548 U+0552) as if it was just one character. That is, it is not mentioned (perhaps due to error) in the Unicode standard [Unicode3] that the characters U+0582 and U+0552 should be placed right after the preceding character (as if it was combining) and form one letter with it. That's why when U+0302 is applied to this sequence the accent should be rendered so that it covers both characters.
Example: composing the number 7 482 951 using lower-armenian.
7 000 000 = 7 000 × 1000 + 400 × 1000 + 80 × 1000 + 2000 + 900 + 50 + 1 = ու̂ + ն̂ + ձ̂ + ս + ջ + ծ + ա = ու̂ն̂ձ̂սջծա.
See also deprecation notes.
radix is recommended for use once the list items are over. Exact Unicode ranges and starting points are described earlier. See also deprecation notes.list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
asciiNumber = integerToString ( integerNumber );
n = asciiNumber.length - 1;
if ( (n % 2) == 0 ) { // precondition the number to avoid tests later
asciiNumber = '0' + asciiNumber;
n++;
}
for ( place = n; place >= 0; place-- )
{
// initialize and setup our values:
asciiOne = asciiTen = ethioOne = ethioTen = '';
asciiOne = asciiNumberString[n-place];
place--;
asciiTen = asciiNumberString[n-place];
if ( asciiOne != '0' )
ethioOne = asciiOne + ('፩' - '1'); // map onto Ethiopic "ones"
if ( asciiTen != '0' )
ethioTen = asciiTen + ('፲' - '1'); // map onto Ethiopic "tens"
pos = ( place % 4 ) / 2; // ፻ for even subscripts, ፼ for odd
// find a separator, if any, to follow ethioTen and ethioOne:
sep = ( place != 0 )
? ( pos != 0 )
? ( ( ethioOne != '' ) || ( ethioTen != '' ) )
? '፻' // U+137B
: ''
: '፼' // U+137C
: ''
;
// remove '፩' (U+1369) under special conditions:
if ( ( ethioOne == '፪' ) && ( ethioTen != '' ) && ( n > 1 ) ) {
if ( ( sep == '፻' ) || ( (place+1) == n )
ethioOne = '';
}
// append the result
ethioNumber += ethioTen + ethioOne + sep;
}
return ( ethioNumber );
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
list-style-end value is radix.
Thanks to Father Kyrillos Makar of the St. Mary & St. Mina Churches of Clearwater, Florida for his invaluable input the Coptic systems in this recommendation.
CopticNumbers =[
['α', 'β', 'γ', 'δ', 'ε', 'ϛ', 'ζ', 'η', 'θ'],
['ι', 'κ', 'λ', 'μ', 'ν', 'ξ', 'ο', 'π', 'ϥ'],
['ρ', 'ϲ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω', 'ϣ']
];
asciiNumber = integerToString ( integerNumber );
n = asciiNumber.length - 1;
for ( place = n; place >= 0; place-- ) {
pos = place % 3;
cycles = (int) place / 3;
aNum = aNumberString[n-place];
if ( aNum == 0 )
next;
copticNumber += CopticNumbers[pos][aNum-1];
if ( cycles ) {
for ( i = 0; i < ((int) cycles/2); i++ ) {
copticNumber += '͇'; // U+0347
}
if ( cycles % 2 ) {
copticNumber += '̱'; // U+0331
}
}
else {
copticNumber += '̄' // U+0304
}
}
return ( copticNumber );
::list-marker pseudo-element and the content property. Unicode range: U+0030-0031. The list-style-end value is radix.::list-marker pseudo-element and the content property. Unicode range: U+0030-0037. The list-style-end value is radix.::list-marker pseudo-element and the content property. Unicode ranges for lower-hex: U+0030-0039, U+0061-0066; for upper-hex U+0030-0039, U+0041-0046. The list-style-end value is radix. See also deprecation notes.-latin systems, but has three additional letters in it. One of the values can be deprecated. The letters are as follows| Number | Letters | Unicode Value |
|---|---|---|
| 27 | æ or Æ | U+00e6 or U+00c6 |
| 28 | ø or Ø | U+00f8 or U+00d8 |
| 29 | å or Å | U+00e5 or U+00c5 |
Thanks to Karl Ove Hufthammer for these values, he also mentioned that it would be convenient if the default stylesheet for Norwegian would not place periods after letters in case Norwegian values are used.
If any limited profiles are based on the CSS3 Lists [CSS3-Lists] specification and providing these profiles do not support all the properties (values) suggested in this note, the authors believe that the following considerations must be taken into account when defining any of such profiles:
list-style-items property is likely to require a lot of CPU power and memory, that is this property cannot be used on handheld devices, such as existing mobile phones and PDAs.list-style-end property has no such restrictions although it should be mentioned that the radox value which is assigned to the lists in present desktop UAs might lead to illegible text on small display devices, such as existing mobile phones. Thus, a default value of reset can be a better choice.list-style-type property values cannot be supported and a choice has to be done between various numbering systems (e. g., due to the CPU capabilities) the authors suppose the best policy is:
russian-short numbering convention should be used. This applies only to limited devices and no discrimination should be made between the two Russian systems, that is both are equally important.armenian or armenian-short numbering convention should be used. This applies only to limited devices and no discrimination should be made between the two Armenian systems, that is both are equally important.-ukrainian-short numbering convention should be used. This applies only to limited devices and no discrimination should be made between the two Ukrainian systems, that is both are equally important.Authors of this note believe a lot of list-style-type values burden both the specification and the implementations. [CSS3-Lists] needs to have these values deprecated or at least to discourage their use. The reasoning is provided as follows. Should the WG members decide it is worth deprecating these values authors of this note will disdraw their proposals and edit this note to accomodate the needed changes. On the other hand, if the Working Group finds it inappropriate to remove any existing values we suggest that all the proposed values are included into the upcoming specification (though with some notes which are described here).
The reasons for deprecation fall into two big groups.
The first group includes systems which can be customized using the existing CSS2 properties and thus are not needed in the spec: disc, circle, square, box, decimal-leading-zero, upper-roman, lower-latin, upper-alpha, upper-latin, armenian, upper-armenian, upper-belorussian, upper-bulgarian, upper-macedonian, upper-russian, upper-russian-short, upper-serbo-croatian, upper-ukrainian, upper-ukrainian-short, upper-coptic, upper-greek, upper-hex. For this values in practice no special value is needed. Consider the following examples:
li::list-marker { content: "\25a0" }
This fragment generates square markers before each list item.
li::list-marker { content: counter(list-item, decimal) "." }
li:nth-of-type(-n+9)::list-marker { content: "0" counter(list-item, decimal) "."}
This fragment specifies decimal-leading-zero value.
The reason for deprecation of lower-latin and upper-latin is fair: they are poorly implemented by popular browsers and are duplicates for lower-alpha and upper-alpha. Furthermore, their names are confusing, that is the Latin alphabet does not contain the letter ‘w’ or ‘W’ (Unicode codepoints U+0077 and U+0057 respectively), while these systems are supposed to have this letter. That’s why alpha- values will be a better choice.
li::list-marker {
content: counter(list-item, lower-alpha) ".";
text-transform: uppercase;
}
li::list-marker {
content: counter(list-item, lower-hex) ".";
text-transform: uppercase;
}
This fragment specifies upper-alpha and upper-hex values.
Among others, the reason for removing armenian from the specification is to stimulate correct implementaions. It is known that at least Mozilla 0.98 incorrectly implements this property. It should be note that the use of Mozilla’s system really spoils Armenian lists and confuses readers as this system is never employed.
It is suggested to leave only the lower- values in because they are generally preferable to the upper- and it would be useful for backwards compatibility. Renaming of this values does not offer such compatibility.
The second group consists of the values for which no information is available or such information is not authentic: hebrew, georgian, cjk-ideographic, simp-chinese-formal, simp-chinese-informal, trad-chinese-formal, trad-chinese-informal, japanese-formal, japanese-informal, arabic-indic, persian, devanagari, gurmukhi, gujarati, kannada, malayalam, bengali, tamil, telugu, thai, lao, myanmar, khmer, urdu, oriya
Furthermore, some of these systems will be excessive in the specification due to extremely small amount of native speaker and/or users of the system. They can be customized with the means described in this note.
The implementation of all the mentioned numbering systems will likely require a lot of time and resources. We suppose the Consortium does not have the necessary resources at its disposal. That is why the number of native speakers is provided almost for every language. Using this information as the basis the WG could choose the necessary amount of the list-style-type values to be included into the spec. If any resources are allocated for the purpose of investigating into various alphabets we suggest that the systems with the largest number of native speakers are investigated in the first place.
We suggest that the WG considers the proposal and, if appropriate, adopts the note as a part of the forthcoming specification.
Author of this note were unable to find any reasonable solutions for the issues related to the [CSS3-Lists]:
How to express numerous Unicode values in a row. The MathML 2 specification [MathML2] (see, for example, http://www.w3.org/TR/2001/REC-MathML2-20010221/variants.html) uses the format of U+nnnn-nnnn to represent different characters in a row. On the other hand the Unicode Standard [Unicode3] states this format should be used for intervals (see, for example, http://www.unicode.org/unicode/uni2book/Preface.pdf). The [CSS2] standard in its urange data type uses the Unicode convention. This note uses MathML’s convention to express various Unicode values in a row. Unicode ranges are explicitly marker as such.
A possible solution for this might be the format of list-style-items: 1(U+nnnn, U+nnnn) 14(U+nnnn, U+nnnn, U+nnnn) countername etc. or to use escaping instead.
Authors have not tested the shorthand list-style property for backwards-compatibility if new properties are added.
The name for the list-style-items property. Should it be list-style-item, list-style-items, list-counter, or anything else? This note uses list-style-items.
The name for the radix value of the list-style-end property. Should it be radix, add-letter, or anything else? This note uses radix.
The name for the last-character value of the list-style-end property. Should it be last-character, fixed, frozen, terminal, fixed-final, or anything else? This note uses last-character.
Another proposed way to shortend the vocabulary of the list-style-type property was to make the modifier a separate attribute, like list-style-property. So definitions could set up as:
ol { list-style-end: reset;
list-style-type: russian;
list-style-properties: "lower,short"; }
Is there a need for upper-greek value?
The authors are waiting for the feedback concerning various Cyrillic systems. This feedback would be highly appreciated and can be sent to either the www-style@w3.org mailing list (archive or the authors. The need for such systems is still being investigated.
Is there a need for shorthand values for all the list-style-type values (as for armenian, due to mistake)?
A more descriptive name for the ::marker pseudo element. CSS3 authors decided to take ::list-marker. Other possible names can be ::bulet, ::score etc. This note uses ::list-marker.
The obvious issue connected with the list-style-items property is backwards-incompatibility. Authors suggest to follow the practice which is desribed below.
One possible way to avoid undefined results on rendering is to apply cascading rules:
In case list-style-items is unsupported lower-alpha will be used instead. Furthermore, if the list which the property is applied to contains more than three items lower-alpha will be used for the rest of them.
ol { list-style-type: lower-alpha;
list-style-items: U+0046-0069-0072-0073-0074,
U+0053-0065-0063-006f-006e-0064,
U+0054-0068-0069-0072-0064;
}
Another way to customize list could be:
The next example could cause major compatibility problems and thus is provided here for informational reasons only.
ol { list-style-type: items(U+0046-0069-0072-0073-0074,
U+0053-0065-0063-006f-006e-0064,
U+0054-0068-0069-0072-0064),
lower-alpha
}
Yet another way to customize list (according to the current CSS3 work):
li:nth-of-type(1)::list-marker { content: "First. "; }
li:nth-of-type(2)::list-marker { content: "Second. "; }
li:nth-of-type(3)::list-marker { content: "Third. "; }
The names for -russian values. Should it be lower-russian for long lists and lower-russian-short for long one or should it be changed to lower-russian for short lists and lower-russian-long for long lists (or lower-russian-traditional and lower-russian respectively). The same issue applies to Ukrainian lists. This note uses the former convention.
A future level of CSS may provide a way to specify different bullet types at arbitrary nesting levels. This is not directly addressed in the note, though authors believe that this issue is in the scope of Generated Content module [CSS3-Content], particularly the content property.
To help with this work, we expect to be able to provide the necessary resources to the WG. That is any details concerning the proposed numbering conventions as well as details concerning the proposed properties and modifications.