Checklist: Bidirectional support guidelines

When you create an application with bidirectional support, follow the guidelines in this table.

Complies Not applicable Rule
Software design must allow for bidirectional data to be passed to applications in the same order that a speaker of the language can spell it out.
The product design must allow for the implementation of the correct handling of bidirectional keyboard and presentation functions.
Designing of a function that implies logical movement of cursor or characters must permit mirroring of that function.
Keys or operations labeled with directional icons or symbols must perform according to the icon or symbol.
Keyboard nomenclature for mirrored functions must be independent of the direction of data or text entry.
Display functions must not assume a left-to-right orientation.
Field attributes must contain room for directional information.
Indicator location must be reserved for the current direction of the cursor (direction of input).
The design must allow for independent handling of graphic and text orientation.
Provision must be made to allow shape determination to be performed.
The deshaping must be definable.
Provision must be made to allow the selection of the appropriate presentation shape for the numerals.
Characters must be allowed to touch each other on printers and displays.
Indicator locations should be reserved for screen and field orientation, current level of nesting, status of push (nesting mechanism), and status of symmetric swapping.
The design should provide for a method to indicate to the user the nesting structure of a string.
A system-wide method of deshaping Arabic characters or character strings should be provided.
An indicator location should be provided for the status of shape determination.
A method should be provided so that proportional spacing can be provided.
A method should be provided to allow alignment of the baseline of Arabic and Latin characters (including Hindi and Arabic shapes for numerals).
Related concepts
Code globalized applications that use bidirectional data