Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 3 users
Status: Available
Owner: ----
Cc:
Components:
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 zcor...@gmail.com, Dec 21 2016 Back to list
From https://bugs.chromium.org/p/chromium/issues/detail?id=605840#c13

>    - 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.

https://drafts.csswg.org/css-text-3/#valdef-hyphens-auto

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 kojii@chromium.org, Dec 21 2016
Status: Available
Thank you for checking the Gecko behavior.
Comment 2 by zcor...@gmail.com, Dec 21 2016
Test case/demo

http://software.hixie.ch/utilities/js/live-dom-viewer/saved/4748

<!DOCTYPE html>
<style> div { border:solid; width:150px; hyphens:auto; } </style>
No lang
<div>Long words like implementation, initialization, realization, and hyphenation.</div>
lang=en-US
<div lang=en-US>Long words like implementation, initialization, realization, and hyphenation.</div>
Comment 3 by bra...@bram.us, Dec 24 2016
Safari 10.0.2 also hyphenates even when no lang attribute is set.
Comment 5 by zcor...@gmail.com, Jan 8 2017
Spec issue opened: https://github.com/w3c/csswg-drafts/issues/869
Sign in to add a comment