web-dev-qa-db-ja.com

HTMLで人間以外の言語のテキストをマークアップする方法は?

スクリーンリーダー、ブラウザのスペルチェック、検索エンジンなどのニーズを考慮すると、非人間言語のテキストをHTMLでどのようにマークアップする必要がありますか?

特定のタグでラップする必要がありますか?
囲むタグに標準の特別なlang属性はありますか(例:"")?

フォーム入力を何らかの非人間言語のテキストを受け入れるものとしてマークアップしたい場合があることに注意してください。

人間以外の言語のテキストの例:

  • 短い暗号化ハッシュ
  • 暗号化されたデータの大きなブロック
  • 独自の形式表記
  • アスキーアート
3
Ian Mackinnon

これは、実際のコンテンツ(たとえば、ハッシュとASCII artの間に重要な違いがあります)およびコンテキスト(編集可能なコンテンツと提示されたコンテンツ)に依存します。したがって、適切な要素(および場合によってはWAI-ARIA)を選択すると、HTML5は次のオプションを提供します。

  • 言語タグzxxIETF BCP 47 / IANAレジストリ )は、「言語コンテンツなし」に使用できます。

    <span lang="zxx"><!-- … --></span>
    
  • translate属性( HTML5 )を使用して、コンテンツを翻訳しないことを指定できます。

    <span translate="no"><!-- … --></span>
    
  • spellcheck属性( HTML5 )を使用して、編集可能なコンテンツのスペル/文法エラーをチェックしないように指定できます。

    <textarea spellcheck="false"><!-- … --></textarea>
    
1
unor

<code>タグは、コードのようなもの、ハッシュのような(しゃれた)ブロック、またはデータブロックに使用するのが好きです。 <pre>タグを使用して、直接のASCII出力(メインフレームまたはアートからのスクリーングラブなど)を表示します。

4
Joel Etherton

WCAG 2.0またはHTML5(まだ)についての具体的な推奨事項はありません。おそらく、[Joe Ethertonが提案したように] <code>タグでラップすることができます。

ただし、ASCIIアートは異なります。 WCAGは、テキストの説明とそれをスキップする方法をユーザーに提供することをお勧めします。 H86を参照

1
MrJinPengyou