バグの説明
すべての RTL サイト(ペルシャ語/ファルシ語のインスタンスでテスト済み)において、コンポーザー内のトピックタイトル入力欄は、ページ全体が RTL であっても LTR のまま表示されます。
- 入力欄には
dir="auto"が設定されています(場合によってはdir属性が全くないこともあります)。 - 計算された
directionは、どのような状況でも LTR になります。 - プレースホルダーテキスト、カーソルの移動、入力方向は、最初の RTL 文字を入力するまですべて誤って表示され(その後も一貫しないことがあります)。
再現手順
- サイトを RTL に設定するか、ペルシャ語ロケールを使用します。
- 「混合テキスト方向のサポート」(公式設定)を有効にします。
- コンポーザーを開きます(新規トピックまたは返信)。
- タイトルフィールド(
.title-input内の#reply-title)を確認します。
現在の挙動
入力欄が LTR としてレンダリングされます:
- テキストの配置が左揃えになります。
- カーソルと選択動作が LTR のように振る舞います。
direction: rtl、text-align: right、unicode-bidi: embedに対して CSS の!importantルールを強く適用しても、計算されたスタイルは依然として LTR を示します。
入力欄の HTML(インスペクターで確認した内容):
<input aria-label="عنوان موضوع خود را اینجا بنویسید" placeholder="عنوان موضوع خود را اینجا بنویسید" ... id="reply-title" class="ember-text-field ember-view" type="text">
<input> 上の計算されたスタイル(関連部分):
direction: rtlが上書きまたは無視されています。- 空の状態、または中立文字のみが含まれている場合、フィールドは LTR にフォールバックします。
既に行なった試み
- 標準的な CSS オーバーライド(最も具体的なセレクター +
!important+unicode-bidi: embedを含む)。 - 「混合テキスト方向のサポート」のオン/オフ切り替え。
- ハードリフレッシュとキャッシュのクリア。
- Meta で推奨されている正確なルールを含むテーマコンポーネント。
これらいかなる方法でも、入力欄が最初から RTL に従うように強制できませんでした。
期待される挙動
タイトル入力欄は、コンポーザーの他の部分や調理済みコンテンツと同様に動作すべきです:
- RTL サイトではデフォルトで
direction: rtlになること。 dir="auto"を正しく尊重すること(またはサイトが RTL の場合、dir="rtl"が強制されること)。- プレースホルダー、カーソル、テキスト方向が即座に RTL になること。
この件は 2025 年 10 月に報告され(https://meta.discourse.org/t/titles-placeholder-in-new-topic-is-not-rtl/385232)、「修正が保留中」との注記がありました。しかし、このバグは依然として存在しています。
Discourse バージョン:(/admin から正確なバージョンを入力してください)
ブラウザ/OS:(使用中の Chrome/Firefox + Windows/macOS/Android など)
この問題が修正されることを切に願っています。コンポーザーに残っている最も目立つ RTL 問題の一つです。ありがとうございます!
