Skip to content

CSS Writing-modes sideways values not implemented — FIXED ! #11

Open

Description

@r12a

This issue is applicable to most languages.

Text that is normally written horizontally may need to be written vertically for special effects (the spine of a book, table column headings, etc). Typographically, it is simply horizontal text that is rotated.

The GAP

The CSS feature defined in Writing Modes Level 4, which is in CR, provides a solution using sideways-lr|sideways-rl values of the writing-mode property.

There is no way to do this effectively until browsers support the new CSS properties.

writing-mode:vertical-lr/rl is not appropriate for achieving this, because of things such as wrong locations for line start and end, and incorrect direction of line wrapping, not to mention the implications for glyph rotation.

Only Gecko supports these values. Blink and WebKit do not.

Priority

Support is needed sooner rather than later, since people are writing tutorials or explainers that show how to do this using the currently supported writing-modes values. However, the currently supported values only work properly for CJK languages, and produce incorrect results for normally horizontal scripts unless used in the simplest way possible (for example, line breaking and text alignment break things).

The sideways values were moved from CSS Writing Modes 3 to level 4 because implementation support was there for the values needed for CJK. However, CSS Writing Modes 4 went to CR almost immediately with the expectation that support for the sideways features would follow soon.

Tests & results

interactive test, sideways-rl is supported in browsers

interactive test, sideways-lr is supported in browsers

Action taken

Chromium • WebKit

Outcomes

With the release of Safari 18.4 all major desktop browsers now support the sideways values of writing-mode.

Activity

  1. r12a commented on Jan 30, 2020

    @r12a
    ContributorAuthor

    The first comment in this issue contains text that will automatically appear in one or more gap-analysis documents as a subsection with the same title as this issue. Any edits made to that comment will be immediately available in the document. Proposals for changes or discussion of the content can be made in comments below this point.

    Relevant gap analysis documents include:
    Adlam • Arabic/Persian • Canadian Syllabics • Cherokee • Georgian • Greek • German • French • Hungarian • N'Ko • Osage

  2. changed the title [-][nl] Vertical text in spines, etc.[/-] [+]Vertical text in spines, etc.[/+] on Jan 30, 2020
  3. fantasai commented on Jun 22, 2020

    @fantasai

    sideways-rl/lr is supported in Firefox and has been for awhile.

  4. xfq commented on Jun 23, 2020

    @xfq
    Member

    Here's a test. See also the parser test in WPT. Gecko supports it, but Blink and WebKit do not.

    Browser bugs raised: Chromium WebKit

  5. r12a commented on Jun 23, 2020

    @r12a
    ContributorAuthor

    I added another test for -lr and created GH issues for both with results, and pointed to from https://w3c.github.io/i18n-tests/results/int-vertical-text#nl_sideways.

    Then i tidied up the entry for this topic (see above) and republished the latin-nl doc at https://www.w3.org/TR/2020/WD-latn-nl-gap-20200623/#vertical_text

  6. 50 remaining items

  7. changed the title [-]CSS Writing-modes sideways values not implemented[/-] [+]CSS Writing-modes sideways values not implemented — FIXED ![/+] on Apr 2, 2025
  8. moved this from Browser bug raised to Fixed in Gap-analysis pipelineon Apr 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions