New issue
Advanced search Search tips
Starred by 3 users

Issue metadata

Status: Available
Owner: ----
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Sign in to add a comment

CSS hyphens: auto should not work if lang="" is not declared

Project Member Reported by, Dec 21 2016

Issue description


>    - The language of the page is from the "lang" attribute (e.g., <html lang=en>) or from the system language.

This is different from what Firefox does. It will not apply hyphenation if the language is not declared.

MDN says:

> Hyphenation rules are language-specific. In HTML, the language is determined by the lang attribute, and browsers will hyphenate only if this attribute is present and if an appropriate hyphenation dictionary is available.

Spec says:

>Correct automatic hyphenation requires a hyphenation resource appropriate to the language of the text being broken. The UA is therefore only required to automatically hyphenate text for which the content language is known and for which it has an appropriate hyphenation resource.
> Authors should correctly tag their content’s language (e.g. using the HTML lang attribute) in order to obtain correct automatic hyphenation. UAs may refuse to automatically hyphenate untagged content regardless of the hyphens property value.

Now the spec doesn't forbid it, but I think the intent is that UAs should not hyphenate untagged content.

By hyphenating untagged content, we are introducing an interoperability issue.

The system language is also not a great guess at what language the content in a Web page is in. If it should be automatic, then it seems more reliable to apply language detection. But I think for now we should just disable it and tell Web developers to specify lang="" correctly.

Comment 1 by, Dec 21 2016

Status: Available (was: Untriaged)
Thank you for checking the Gecko behavior.

Comment 2 by, Dec 21 2016

Test case/demo

<!DOCTYPE html>
<style> div { border:solid; width:150px; hyphens:auto; } </style>
No lang
<div>Long words like implementation, initialization, realization, and hyphenation.</div>
<div lang=en-US>Long words like implementation, initialization, realization, and hyphenation.</div>

Comment 3 by, Dec 24 2016

Safari 10.0.2 also hyphenates even when no lang attribute is set.

Comment 5 by, Jan 8 2017

Spec issue opened:
Project Member

Comment 6 by, Feb 15

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit - Your friendly Sheriffbot
Status: Available (was: Untriaged)

Sign in to add a comment