New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 3 users
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 Back to list

>    - 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
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:
Sign in to add a comment