- From: Aharon (Vladimir) Lanin <aharon@google.com>
- Date: Sun, 5 Jul 2020 14:14:55 +0300
- To: public-i18n-bidi@w3.org
- Message-ID: <CA+FsOYbTAKK5JNSkzGR5oz98zMsGgg+7S24zp9P50eZS46Z2jA@mail.gmail.com>
Sorry that it has taken me so long to answer. > another concern was the divergence of the base directionality wrt bidi reordering vs the base directionality for alignment. Let me handle this one first. Such divergence is not optimal, but it is actually quite common, being the least of all evils. I am referring to setting text-align to left (not start) in an LTR page (and right in an RTL page) on a field whose direction is opposite to that of the page, in order to get the overall layout of the page to work well. This is usually the best thing to do for fields whose content is significantly shorter than the field's width. It is definitely the wrong thing to do for fields whose content is longer than the field's width and is allowed to wrap, since wrapped content is definitely less readable when it is aligned to its end side. Ah, so what does one do when one doesn't know whether the field's content will be short or wrapped? There is a neat trick: put the content in an element with direction set to the content's directionality, text-align:start, and layout:inline-block. Then wrap that element in another whose text-align matches that of the page and whose width is as desired. The outcome is that short content appears aligned to the page's start (and thus to its own end), while wrapped content appears aligned to its own start, and everyone is happy. Unfortunately, this trick does not work for a field that contains multiple paragraphs of content (wrapped when longer than the field's width) whose directionality may not match that of the page or even one another. The canonical solution for such fields is unicode-bidi:plaintext, and it is for these fields that I made my suggestion. In such fields, one generally wants RTL paragraphs to be aligned right, and LTR paragraphs to be aligned left, since each may be wrapped. However, it is better for the all-neutral LTR paragraphs to match the alignment of their surroundings. Yes, that means that their alignment may not match their directionality, but as I explained above, this is not unusual and is probably the least of all evils. > one concern was inconsistency in handling all-neutral content before and after a strong paragraph It is easier to talk about specific examples. Koji gave one in a private communication: [start of example] English > > Arabic > Then the first stand-alone ">" goes one way, while the second stand-alone ">" goes the other way. [end of example] My take on this example is that I don't have a big problem with that outcome, given that the > on the line with the Arabic on it will be < and right-aligned too. In fact, I am not even sure that the current way comes out better. Generally speaking, nothing is going to be perfect, but I think that my proposal will fix more problems than it creates. > particularly at the start of the plaintext block We can tweak the proposal to look at the paragraph(s) after the all-neutral one if there are no non-neutral paragraphs before it (or consider other tweaks or even entirely different proposals, if there are any).
Received on Sunday, 5 July 2020 11:15:46 UTC