Skip to content

Full hyphenation control for better readability, and to bring the web up to the same typesetting quality as InDesign, Word, etc #1042

@clagnut

Description

@clagnut

Description

There is more to setting hyphenation than just turning on the hyphens. The CSS Text Module Level 4 has introduced the same kind of hyphenation controls provided in layout software (eg. InDesign) and some word processors (including Word). These controls provide different ways to define how much hyphenation occurs through your text.

Browsers support hyphens:auto but should also implement additional the hyphenation controls (properties) to improve readability and customise layout:

  • hyphenate-limit-chars Limiting the word length and the number of characters before and after a hyphen
  • hyphenate-limit-lines Limiting the number of consecutive hyphenated lines
  • hyphenate-limit-last Avoiding hyphenated words across the last line of a paragraph
  • hyphenate-limit-zone Reducing hyphenation by setting a hyphenation zone

There was a regression for support in Edge, which used to support all the hyphenation properties (the only browser to do so) but lost this capability with its switch to Blink in 2020 (Edge version 80 onwards).

Safari, Firefox and Edge don't support any of these properties. Chrome only supports hyphenate-limit-chars. Safari supports hyphenation character limits using prefixes and some legacy properties specified in an earlier draft of the CSS3 Text Module.

Specification

https://www.w3.org/TR/css-text-4/#hyphenation

web-feature

hyphenation

Test Links

Demo/test

Additional Signals

All you need to know about hyphenation in CSS blog post detailing the properties and their support (and lack thereof)

Webkit bugs:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions