Summarized test results:
The q element

Intended audience: HTML coders, script developers, Web project managers, and anyone who wants to know how browsers render the q element.

Updated

These tests check how user agents render the text contained in the q element, in the default case (ie. no CSS styling).

To see the test, click on the link in the left-most column. To see detailed results for a single test, click on a row and look just above the table. The detailed results show the date(s) the test result was recorded, and the version of the browser tested. The tables only show the results of the latest test. The detailed results may show additional tests on earlier versions of the same browser.

Any dependencies are shown in notes above the table, and notes below the table will usually provide any additional useful information, including an explanation of why a result was marked as 'partially successful'.

Key:

pass fail partially successful

Basic tests

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeSafari Mobile
one q
q-001.html
Text inside a q element will be rendered with quotation marks. passpasspasspasspass
nested qs
q-002.html
Text in nested q elements will be rendered with nested quotation marks. passpasspasspasspass
nested qs, difference?
q-003.html
Text in nested q elements are rendered with different nested quotation marks. passpasspasspasspass
triple-nested qs
q-004.html
Text in triple-nested q elements are rendered with nested quotation marks. passpasspasspasspass
triple-nested qs variations
q-005.html
[Exploratory test] Text in triple-nested q elements are rendered such that the inner-most nested quotation marks are the same as the outer-most. failfailfailfailfail

Language responsiveness

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeSafari Mobile
q + lang
q-lang-001.html
The browser doesn't use different quotation marks by default when the language is set on a higher element but not on the root. failfailfailfailfail
q default marks
q-lang-002.html
The browser uses the quotation marks specified in the HTML5 spec when no language information is available. passpasspassfailpass
html lang=am
q-lang-am.html
Amharic quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=ar
q-lang-ar.html
Arabic quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=bn
q-lang-bn.html
Bengali quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=chr
q-lang-chr.html
Cherokee quotation marks follow CLDR when the language is declared on the root tag. passpasspasspasspass
html lang=el
q-lang-el.html
Greek quotation marks follow CLDR when the language is declared on the root tag. passpasspasspartialpass
html lang=fa
q-lang-fa.html
Farsi quotation marks follow CLDR when the language is declared on the root tag. passpasspasspartialpass
html lang=fr
q-lang-fr.html
French quotation marks follow CLDR when the language is declared on the root tag. passpasspasspartialpass
html lang=fr-ch
q-lang-fr-ch.html
French Swiss quotation marks follow CLDR when the language is declared on the root tag. passpasspasspasspass
html lang=gu
q-lang-gu.html
Gujarati quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=he
q-lang-he.html
Hebrew quotation marks follow CLDR when the language is declared on the root tag. passfail *fail *failfail *
html lang=hi
q-lang-hi.html
Hindi quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=hu
q-lang-hu.html
Hungarian quotation marks follow CLDR when the language is declared on the root tag. passpasspasspartialpass
html lang=ja
q-lang-ja.html
Japanese quotation marks follow CLDR when the language is declared on the root tag. passpasspasspasspass
html lang=km
q-lang-km.html
Khmer quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=ko
q-lang-ko.html
Korean quotation marks follow CLDR when the language is declared on the root tag. passpassfailpasspass
html lang=lo
q-lang-lo.html
Lao quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=my
q-lang-my.html
Burmese quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=nl
q-lang-nl.html
Dutch quotation marks follow CLDR when the language is declared on the root tag. passfailfailfailfail
html lang=pa
q-lang-pa.html
Punjabi quotation marks follow CLDR when the language is declared on the root tag. passfailfailfailfail
html lang=ta
q-lang-ta.html
Tamil quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=th
q-lang-th.html
Thai quotation marks follow CLDR when the language is declared on the root tag. passpasspasspasspass
html lang=zh
q-lang-zh.html
Chinese (zh) quotation marks follow CLDR when the language is declared on the root tag. passpasspassfailpass
html lang=zh-Hans
q-lang-zh-hans.html
Simplified Chinese quotation marks follow CLDR when the language is declared on the root tag. passfailfailpassfail
html lang=zh-Hant
q-lang-zh-hant.html
Traditional Chinese quotation marks follow CLDR when the language is declared on the root tag. passpasspasspasspass

Notes

  1. q-lang-003: Edge renders some of the language-specific quotation marks in the same forms as recommended by the HTML spec, but in many cases it simply renders the default form. Also, in several cases, such as Canadian French, the quotation marks used are the same, but in reversed order for top-level vs. nested quotes.

Multilingual nesting

Dependencies

  1. These tests are only significant if q-lang-001 shows that language settings influence the choice of quotation marks, and if the expected glyphs are rendered for english and japanese quotation marks.
Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeSafari Mobile
quote in other lang
q-multilingual-nesting-001.html
The browser applies quotation marks relevant to the language outside the first level of quotes when a simple quote in another language appears in a sentence. passfailfailfailfail
quote inside text in other lang
q-multilingual-nesting-002.html
The browser applies quotation marks relevant to the language outside the first level of quotes when a simple quote appears in an inline text in another language. passfailfailfailfail
languages A(A(B))
q-multilingual-nesting-003.html
The browser applies quotation marks relevant to the language outside the first level of quotes when a quote contains an inner quote in another language. passfailfailfailfail
languages (A(B(B))
q-multilingual-nesting-004.html
The browser applies quotation marks relevant to the language outside the first level of quotes when a quote in another language contains a quote inside it. passfailfailfailfail