P.S. parece que o OP deste tópico foi traduzido automaticamente para o inglês para mim e não consigo encontrar uma maneira de ver o original na interface móvel. O que está acontecendo aí? Obviamente, o problema não é mais visível neste caso. Ainda bem que capturei essa captura de tela mais cedo!
Acredito que o inversor só é aplicado quando o idioma da interface de usuário está definido como Hebraico/Árabe/etc., mas esse não é o caso aqui. O texto RTL pode aparecer no conteúdo mesmo quando o idioma da interface é LTR.
Como o Udi mencionou, muitas vezes é preferível usar -inline-start/end em vez de -left/right nas folhas de estilo, e não usar um inversor propenso a erros. Isso funcionaria corretamente tanto para o RTL embutido (nos conteúdos das postagens) quanto para o RTL de layout (com base no idioma da interface selecionado), com apenas uma folha de estilo. Você pode querer considerar a migração para isso e aposentar o rtlcss. Mas é claro, você não precisa fazer isso, se não houver um problema real a ser resolvido.
Sim, concordo, deveríamos ter uma folha de estilos CSS sólida para conteúdo misto, se você encontrar mais exemplos que precisem de melhorias, um PR é totalmente bem-vindo
@nat boa ideia adicionar a tag. Talvez queira adicioná-la aqui também: Wrong -> arrow direction in RTL text contexts (não consigo editar por algum motivo). Postarei algumas informações relevantes nesse tópico em um segundo (mas, em resumo, ainda é uma tarefa muito maior do que deveria ser, e o que escrevi no OP ainda está correto).
Mencionarei que, até onde sei, -top e -bottom estão corretos. É extremamente raro que -block-start e -block-end não sejam mapeados para eles, respectivamente, isso só aconteceria ao usar o layout Top-To-Bottom. Pessoalmente, não tenho experiência com tais layouts, e acho que todo o site provavelmente precisaria ser redesenhado para acomodá-los, então esses simples ajustes de CSS não seriam suficientes. Mas, de qualquer forma, posso estar errado, não leve minha palavra como verdade!
É possível - definitivamente, mas pode exigir alguns ajustes no HTML para cooperar com o CSS (posso dar exemplos mais tarde).
Estado intermediário saudável - Eu esperaria que, se você mudar apenas algumas coisas para -inline-start, o rtlcss as ignoraria, mas continuaria convertendo -left. Isso significa que você pode alternar progressivamente mais e mais coisas até que o rtlcss não mude mais nada. Nesse ponto, o rtlcss pode ser aposentado.
Vale a pena - sem ideia. Considere se isso tornaria o Discourse mais estável em RTL e se seria mais fácil de manter a longo prazo. Eu realmente não sei.
É definitivamente válido a pena - talvez necessário - para CSS aplicado a conteúdo gerado pelo usuário que pode ir em qualquer direção (geralmente com dir="auto").
Além disso, embora eu não consiga pensar em um exemplo de imediato, às vezes você realmente quer definir explicitamente a propriedade left de algo, independentemente da direção do layout. Nesses casos, o rtlcss faria a coisa errada, a menos que você tenha feito exceções para isso de alguma forma.
Os elementos <span> adicionais dentro dos elementos <td> são necessários para que a tabela seja renderizada no layout desejado. Em um contexto RTL, o pseudo-elemento ::before fica à direita, então se o td em si fosse RTL, o sinal = que separa a chave e o valor ficaria no final (lado direito) da linha da tabela.
Basicamente, às vezes você precisa aninhar um elemento extra para dar a ele uma direção separada de seu pai. Mas isso pode ser uma coisa boa, dependendo da sua perspectiva.
Não acho que valha a pena o esforço de atualizar nosso CSS em todos os núcleos, plugins e temas apenas para remover nossa dependência do rtlcss. Um passo intermediário saudável seria usar CSS agnóstico de direção para áreas que contêm conteúdo gerado pelo usuário, como posts e bios, e para todo o resto, o rtlcss fará o trabalho.