Summarized test results:
CSS3 Selectors, first-letter

Intended audience: users, XHTML/HTML coders (using editors or scripting), script developers (PHP, JSP, etc.), CSS coders, Web project managers, and anyone who wants to know how language declarations work in current browsers.

Updated

These tests check whether user agents highlight expected characters when the ::first-letter selector is used in CSS.

The tests check whether ::first-letter selects just the first character on the line, or the first grapheme cluster (ie. a sequence of characters that form a logical unit, such as a base character and it's combining characters).

There are also some exploratory tests that check whether the browser goes beyond grapheme clusters to support selection of tailored sequences of characters in a given context (eg. 'ij' in Dutch, or conjuncts in Indic scripts).

Note that the snapshot summaries of these test results are for released versions of the browsers tested. Versions that are still in development may provide better support for these features. The tests themselves do not test any vendor prefixes.

results

The tables show results for tests run on the date shown. Above the tables are summaries of the results at that date. The table data may be more up-to-date than the summary. If the tables contain some incorrectly scored tests, or tests that relate to non-released versions of browsers, these are not included in the summary.

To see the test, click on the link in the left-most column. To see detailed results for a single test, click on the link in the right-most column.

Latin text

Snapshot summary, 2014-02-14
Firefox 26.0, Chrome 32.0.1700.107, Safari 6.1.1, Opera 19.0, Internet Explorer 9

Firefox selects the base character and two following combining characters.

All the other browsers select only the first character on the line, which makes this feature of little use for languages other than English and a handful of others.

No browser selects 'ij' at the start of a line when the language of the content is set to Dutch.

Assertion Firefox Chrome Safari Opera IE Detailed results
latin, single letter :first-letter will select a single letter at the start of a line.
latin, letter + diacritic :first-letter will select a letter + a following combining character at the start of a line.
latin, letter + 2 diacritics :first-letter will select a letter + two following combining characters at the start of a line.
latin, ij in dutch [Exploratory] :first-letter will select an IJ as a single item at the start of a line in a Dutch context.

Devanagari text

Snapshot summary, 2014-02-14
Firefox 26.0, Chrome 32.0.1700.107, Safari 6.1.1, Opera 19.0, Internet Explorer 9

Only Firefox selects what would equate to a grapheme cluster, rather than a single character at the start of a line.

None of the browsers support selection of conjoined consonants. These are basic units in indic scripts, and all component characters need to be highlighted together, but this goes beyond the definition of a grapheme cluster in the Unicode Standard.

These results mean that ::first-letter is of little use for languages such as Hindi and Marathi at the moment, even on Firefox. Text in those languages does use things such as drop caps at the start of a paragraph, but that would therefore have to be coded into the HTML manually using spans.

NOTE: Firefox can sometimes appear to support more complex sequences. This doesn't happen in these tests, which download a WOFF font to show the devanagari characters. But if, on a Mac, the Devanagari MT system font is applied to the test (see this version of the test), the following correct selections are produced.

Picture of screen.

This appears to be very font specific: it works with the Devanagari MT font, but not with other fonts on the system used. It also only works when a left-sighted vowel-sign is used. The other conjuncts on the page failed.

It also appears to be Firefox specific.

Assertion Firefox Chrome Safari Opera IE Detailed results
hindi, letter only :first-letter will select a devanagari letter at the start of a line.
hindi, base character with 1 combining character :first-letter will select a devanagari letter and a following combining character at the start of a line.
hindi, consonant + 2 combining characters :first-letter will select a devanagari letter and two following combining characters at the start of a line.
hindi, simple conjunct [Exploratory] :first-letter will select a devanagari two-consonant conjunct at the start of a line.
hindi, conjunct plus combining character [Exploratory] :first-letter will select a devanagari two-consonant conjunct and a combining character at the start of a line.