Gutenberg: インライン境界の改善

作成日 2017年03月08日  ·  3コメント  ·  ソース: WordPress/gutenberg

新しいリンク/コード境界ロジックには、修正が必要なさまざまな小さな問題があります。

  1. リンクの修正ダイアログの「表示するテキスト」にzwspが含まれている
  2. zwspで入力すると、それらをトリミングするために必要な空のリンクが生成されます。
  3. リンク解除が壊れている可能性があります。さらにテストが必要です。
  4. キャレットが同じテキストノードにあるが、zwsp文字の隣にない場合は、zwspを削除します。
  5. rtlとbidiのテストをさらに追加します。
  6. line-heightを試してください:-moz-block-height; グリッチをレンダリングするFirefoxウィンドウの回避策として。
  7. 人々がそれが迷惑だと思う場合に備えて、これを無効にするオプションを追加します。
  8. 外部キーボードを使用してiOSのナビゲーションを修正してみてください。
[Type] Task

最も参考になるコメント

このチケットに記載されているアイテムを修正しました。 だから私はこれを閉じます。

全てのコメント3件

私はこの機能が大好きで、入力している場所を理解するのに大いに役立つと思います。

ただし、Safari 10 + VoiceOverですばやくテストすると、リンク境界は次のように読み取られます。
link zero width no break space
またはそのようなもの、申し訳ありませんがここで英語を母国語としないでください🙂

1つのオプションは、Slack@spockeによって言及されたものである可能性があります。

ariaタグを使用してスパンでラップする必要がある場合があります

文字や単語でナビゲートする場合、スクリーンリーダーはリンクに入るときにすでにlinkをアナウンスしますが、リンクを出るときには何もアナウンスしないので、支援技術からzwnbspの文字を隠すだけでよいかもしれません。うまくできた。

@aferciaこれについていくつかの調査を行いました。

キャレットがアンカーの内側/外側にあるときにアンカーに正規化されないようにするには、ブラウザーがデフォルトの処理を実行できないようにするものを挿入する必要があります。 ゼロ幅の改行なしスペースを使用します。これは、基本的に、ドキュメント内のBOM署名以外には使用されなくなった非表示の文字であるためです。 これらの文字はJawsによって無視されているようですが、VoiceOverとNVDAによって話されています。

私はこれをさまざまな方法で回避しようとしました:

  1. ほとんどのスクリーンリーダーで属性が無頓着に無視されていたため、キャラクターをariaの役割と属性を持つスパンに変更しても機能しませんでした。 エディターのコンテキストにあるので、関連性はないと思います。 role = "presentation" aria-hidden = "true"とaria-label = "abc"を試しましたが、Jaws以外は何も起こりませんでした。
  2. 予約済みのUnicode範囲\ ue000を試しました。これはアイコンなどのために予約されており、スクリーンリーダーで読み上げることはできません。 これらは話しませんが、ブラウザの選択正規化ロジックによっても無視されるため、使用できません。
  3. aria-live = "assertive"でrole = "status"要素を追加し、基本的にwp.a11y.speakが行うこと、VoiceOverではキューをキャンセルするがNVDAではキャンセルしないテキストをプッシュし、Jawsでは少し奇妙に思えます。 仕様では、キューがキャンセルされる可能性があると書かれているので、何が起こるかはランダムだと思います。 ただし、これはおそらく、キャレットがリンクの開始位置、終了位置、前、後のいずれにあるかをユーザーに伝えるのが最も理にかなっています。これらは私たちが扱う場所だからです。 ただし、一部のスクリーンリーダーは、その奇妙な文字コードについて話すことがありますが、それについて多くのことができるかどうかはわかりません。

したがって、これを要約すると、複雑です。 :)

このチケットに記載されているアイテムを修正しました。 だから私はこれを閉じます。

このページは役に立ちましたか?
0 / 5 - 0 評価