Current situation
Current problems arise from the fact that <rtl> is a formatting attribute. It is allowed only at lower text level and cannot be mixed with content elements. As a result:
- It is impossible to describe a right-to-left layouts of tables (rows start on right) and lists (markers are on the right).
- It is impossible to set the default direction for all or multiple paragraphs. The
<rtl> element must be applied to each text run individually.
- It is impossible to have inline pictures (and other inline elements like checkmarks) embedded within the RTL text span because corresponding elements cannot be inside
<rtl>. But there are no problems with embedding inline pictures to LTR text spans.
Proposals
What is proposed:
- Promote
<rtl> to content element and allow to intermix it with other content elements.
- Define the semantics of it as:
- At block level:
- It specifies the rendering direction for direction-dependednt nested elements like tables and lists.
- It specifies the default paragraph direction for nested text.
- At inline level:
- It creates a "right-to-left isolate" rendering zone as it described in UAX#9 of Unicode standard.
- Add the
<ltr> element for switching back to left-to right layout from right-to left. E.g. for describing an English text island placed on an Hebrew page.
Current situation
Current problems arise from the fact that
<rtl>is a formatting attribute. It is allowed only at lower text level and cannot be mixed with content elements. As a result:<rtl>element must be applied to each text run individually.<rtl>. But there are no problems with embedding inline pictures to LTR text spans.Proposals
What is proposed:
<rtl>to content element and allow to intermix it with other content elements.<ltr>element for switching back to left-to right layout from right-to left. E.g. for describing an English text island placed on an Hebrew page.