Il titolo del nuovo topic (#reply-title) rimane LTR nei siti RTL: la correzione non è ancora efficace (2026)

Descrizione del bug

Su qualsiasi sito RTL (testato su un’istanza persiana/farsi), il campo di input del titolo dell’argomento nel composer rimane LTR anche quando l’intera pagina è RTL.

  • L’input ha dir="auto" (o in alcuni casi non ha alcun attributo dir).
  • La proprietà calcolata direction è LTR indipendentemente dalle impostazioni.
  • Il testo segnaposto, il movimento del cursore e la direzione di digitazione sono tutti errati fino a quando non si digita il primo carattere RTL (e anche in quel caso il comportamento è incoerente).

Passaggi per riprodurre

  1. Imposta il sito su RTL (o usa una locale persiana).
  2. Abilita “Supporto per direzione del testo mista” (l’impostazione ufficiale).
  3. Apri il composer (Nuovo argomento o Risposta).
  4. Osserva il campo del titolo (#reply-title all’interno di .title-input).

Comportamento attuale

L’input viene renderizzato come LTR:

  • L’allineamento del testo è a sinistra.
  • Il cursore e la selezione si comportano come in LTR.
  • Anche con regole CSS aggressive !important su direction: rtl, text-align: right e unicode-bidi: embed, lo stile calcolato mostra ancora LTR.

HTML dell’input (come visualizzato nell’ispettore):

<input aria-label="عنوان موضوع خود را اینجا بنویسید" placeholder="عنوان موضوع خود را اینجا بنویسید" ... id="reply-title" class="ember-text-field ember-view" type="text">

Stili calcolati sull’<input> (parte rilevante):

  • direction: rtl viene sovrascritto o ignorato.
  • Il campo torna a LTR quando è vuoto o quando contiene solo caratteri neutri.

Cosa ho già provato

  • Tutte le sovrascritture CSS standard (inclusi selettori molto specifici + !important + unicode-bidi: embed).
  • Disattivare e riattivare “Supporto per direzione del testo mista”.
  • Aggiornamento forzato + cancellazione della cache.
  • Componente tema con le regole esatte raccomandate su Meta.

Nessuna di queste soluzioni costringe l’input a rispettare l’RTL fin dall’inizio.

Comportamento atteso

L’input del titolo dovrebbe comportarsi come il resto del composer e dei contenuti elaborati:

  • Impostare di default direction: rtl sui siti RTL.
  • Rispettare correttamente dir="auto" (o forzare dir="rtl" quando il sito è RTL).
  • Segnaposto, cursore e direzione del testo dovrebbero essere RTL immediatamente.

Questo bug è stato segnalato nell’ottobre 2025 (Titles placeholder in New topic is not RTL) con la nota che “una correzione è in attesa”. Il bug è ancora presente.

Versione di Discourse: (compila la tua versione esatta da /admin)

Browser/SO: (Chrome/Firefox + Windows/macOS/Android — qualsiasi cosa tu stia usando)

Sarebbe fantastico vedere questa correzione: è uno dei problemi RTL più visibili rimasti nel composer. Grazie!

4 Mi Piace

Sì, questa è una situazione complessa: non è risolvibile con il CSS, serve una modifica al markup.

Nello specifico, impostare direction: auto quando un campo è vuoto restituisce LTR.

Quindi, se l’input è vuoto, ottieni LTR.

La correzione che ho applicato qui è quella di impostare di default “rtl” in questo caso e passare ad “auto” non appena viene inserita una lettera.

@Osama, ti dispiace rivedere e unire la pull request?

@david ho dovuto esporre un helper di test nel nostro codice per testare questo in modo pulito, ma presumo che questo sia il tipo di cose che elimineremo con il tree shaking alla fine.

3 Mi Piace

@Nima1 abbiamo unito la correzione per questo problema - grazie per averlo segnalato.