It can have the following values:
ltr, which means left to right and is to be used for languages that are written from the left to the right (like English);
rtl, which means right to left and is to be used for languages that are written from the right to the left (like Arabic);
auto, which lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element.
Note: This attribute is mandatory for the
<bdo> element where it has a different semantic meaning.
- This attribute is not inherited by the
<bdi>element. If not set, its value is
- This attribute can be overridden by the CSS properties
unicode-bidi, if a CSS page is active and the element supports these properties.
- As the directionality of the text is semantically related to its content and not to its presentation, it is recommended that web developers use this attribute instead of the related CSS properties when possible. That way, the text will display correctly even on a browser that doesn't support CSS or has the CSS deactivated.
autovalue should be used for data with an unknown directionality, like data coming from user input, eventually stored in a database.
Note: Browsers might allow users to change the directionality of
<textarea>s in order to assist with authoring content. Chrome and Safari provide a directionality option in the contextual menu of input fields while Legacy Edge uses the key combinations Ctrl + Left Shift and Ctrl + Right Shift. Firefox uses Ctrl/Cmd + Shift + X but does NOT update the
dir attribute value.
|HTML Standard |
BCD tables only load in the browser