Accessibility/RichContentKeyboardBehaviour: Difference between revisions

m
Line 138: Line 138:
== Rich element as a lexical unit ==
== Rich element as a lexical unit ==


A rich element should be treated differently than rich text when the user navigates through a navigable area. The primary idea is to put the caret immediately before or after the rich element. This makes it possible to select only the rich element as it is not immediately surrounded by the rich text. This requirement has special meaning for editable areas where the user should be able to write text before or after the rich element.
A {{term|rich element}} should be treated differently than rich text when the user navigates through a navigable area. The primary idea is to put the caret immediately before or after the rich element. This makes it possible to select only the rich element as it is not immediately surrounded by the rich text. This requirement has special meaning for editable areas where the user should be able to write text before or after the rich element.


[davidb: I'm not sure my edits capture your intended meaning here ^]
[davidb: I'm not sure my edits capture your intended meaning here ^]


To make this happen special autogenerated ''empty characters'' are inserted before and after the rich element. If the rich elements are placed one after another then each of them has empty character embedded between them, i.e. the elements don't share empty characters.
To make this happen special autogenerated {{term||empty character||empty characters}} are inserted before and after the rich element. If the rich elements are placed one after another then each of them has empty character embedded between them, i.e. the elements don't share empty characters. For instance, if there are two rich elements next to each other then there will be (empty)(rich)(empty)(empty)(rich)(empty).
 
[cragun: to clarify, if there are two rich elements next to each other then there will be (empty)(rich)(empty)(empty)(rich)(empty). Did I understand correctly?]


The empty characters are not presented visually but they affect keyboard navigation. They are used to designate the element boundaries when the element is treated as lexical unit, however their behavior differs from the word delimiters; like 'space' characters.
The empty characters are not presented visually but they affect keyboard navigation. They are used to designate the element boundaries when the element is treated as lexical unit, however their behavior differs from the word delimiters; like 'space' characters.
Line 150: Line 148:
=== Integral element is a word ===
=== Integral element is a word ===


The integral element should be treated as a word. The term ''rich word'' will be used to emphasize the word is a rich element.
The {{term||integral element}} should be treated as a word. The term ''rich word'' will be used to emphasize the word is a rich element.


If the element doesn't contain any navigable text then its word doesn't have any characters and is referred to as an ''empty word'', otherwise its word consists of all contained characters and it's referred to as a ''complex word''.
If the element doesn't contain any navigable text then its word doesn't have any characters and is referred to as an ''empty word'', otherwise its word consists of all contained characters and it's referred to as a ''complex word''.
Confirmed users
1,396

edits