Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts
This tutorial has been modified to bring it in line with the current tutorial format. Rather than contain duplicate content, it now introduces the novice to key concepts and points off to useful further reading in an organized fashion. It has been completely rewritten.
Text direction and structural markup in HTML
This article has been created from material formerly in the tutorial “Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts” and augmented with information about new HTML5 markup constructs that are beginning to see adoption. It should be regarded as a new article, focusing on applying bidi markup to document- and block-level content, including forms.
What you need to know about the bidi algorithm and inline markup
This is an update of an existing article, but it has been almost completely rewritten. The most significant changes are the new parts describing how to apply the new HTML5 constructs which are beginning to see adoption. Additional changes will be needed as HTML5 bidi markup is finalised over the coming months. The article also proposes a simpler way to approach markup of bidi text, particularly useful for those with less experience, that relies less on a deep understanding of the issues involved.
Visual vs. logical ordering of text
This is a new article created from material that has been removed from the previously mentioned articles. It was removed into a separate article because visual ordering is much less important these days, and to avoid duplication. Only a few changes have been made to the content itself.
Right-to-left scripts include Arabic, Hebrew, Thaana and N’ko, and are used by a large number of people around the world. If you are new to dealing with bidirectional text, getting it to display correctly can sometimes appear complex and confusing, but it need not be so. If you have struggled with this or have yet to start, this tutorial should help you adopt the best approach to marking up your content. It also explains enough of how the bidirectional algorithm works for you to understand much better the root causes of most problems, and it addresses some common misconceptions about ways to deal with markup for bidirectional content
After reading this tutorial you should:
- create effective SVG Tiny 1.2 content containing text written in the Arabic or Hebrew (or other right-to-left) scripts
- understand the basics of how the Unicode bidirectional algorithm works, so that you can understand why bidirectional text behaves the way it does, and how to work around problems
- take decisions about the appropriateness of alternatives to markup
Information about the language in use on a page is important for accessibility, styling, searching, and other reasons. In addition, language information that is typically transmitted between the user agent and server can be used to help improve navigation for users and the localizability of your site. This tutorial will help you take advantage of the opportunities that are available now and in the near future by declaring language information appropriately.
By following this tutorial you should be able to:
- recognize the available alternatives for declaring language, and how they differ,
- understand the difference between metadata about the expected language of the audience and the text-processing language,
- choose the best way of declaring language for your content
- locate information about how to specify language attribute values.
Getting bidirectional text to display correctly can sometimes appear baffling and frustrating, but it need not be so. If you have struggled with this or have yet to start, this tutorial should help you adopt the best approach to marking up your content, and explain enough of how the bidirectional algorithm works that you will understand much better the root causes of most of your problems. It also addresses some common misconceptions about ways to deal with markup for bidirectional content.
At the end of this tutorial you should be able to:
- create effective XHTML and HTML pages containing text written in the Arabic or Hebrew (or other right-to-left) scripts,
- understand the basics of how the Unicode bidirectional algorithm works, so that you can understand why bidirectional text behaves the way it does, and how to work around problems,and
- take decisions about the appropriateness of alternatives to markup.
If a user agent (eg. a browser) is unable to detect the character encoding used in a Web document, the user may be presented with unreadable text. This information is particularly important for those maintaining and extending a multilingual site, but declaring the character encoding of the document is important for anyone producing XHTML/HTML or CSS. This tutorial will give you an understanding of the topic that will help you make the right choices when doing so. The topic is not as straightforward as it may sometimes appear, and the advice contained here is the end result of a great deal of thought and discussion.
After reading this tutorial you should:
- get advice on choosing an encoding for XHTML/HTML documents
- understand when and how to declare the character encoding (charset) for documents using XHTML/HTML and CSS
- have a grasp of aspects of serving and coding XHTML/HTML files that affect the above
- know when and how to use escapes and entities to represent characters