miChecker:『固有名詞、技術用語、どの言語なのか不明な語句、及びすぐ前後にあるテキストの言語の一部になっている単語又は語句を除いて、コンテンツの一節又は語句それぞれの自然言語がどの言語であるかを、プログラムが解釈可能であることを確認して下さい。』

技術コラムAMCC,miChecker

検出理由

「手動確認」項目のため、miCheckerによる自動検出はありません。

根拠

音声ブウラザによっては、ページで使われている言語と異なる言語が使われている箇所について、その言語に変えて読み上げてくれる機能を有します。ただし、その機能を使用するには、その箇所が異なる言語で書かれていることをlang属性で示しておく必要があります。lang属性が指定されていないと、英語であっても無理矢理に日本語読み上げようとするため、理解不可能な発声になる場合があります。

とはいえ、最近の音声合成ソフトは日本語のエンジンであっても、それなりに外国語もそれらくし読むようには配慮されています。以前ほど酷いことはないようです。しかし、それでも"criteria"などは"クリターヤ"と読み上げるため内容の理解は困難です。

さて、この項目はmiCheckerは自動検出はしてくれません。検証結果の一覧には、いつも『固有名詞、技術用語、どの言語なのか不明な語句、及びすぐ前後にあるテキストの言語の一部になっている単語又は語句を除いて、コンテンツの一節又は語句それぞれの自然言語がどの言語であるかを、プログラムが解釈可能であることを確認して下さい。』と出力されますので、それを受けて、自分で確認し結果を残すことになります。

修正方針

HTMLの場合、その部分にspan要素など用いlang属性を追加します。
XHTML1.0の場合、その部分にspan要素など用いlang属性とxml:lang属性を追加します。
XHTML1.1の場合、その部分にspan要素など用いxml:lang属性を追加します。(宮沢賢治 処世)

<p>「おもてなし」は英語にし難いが、もっとも近いのは<span lang="en">hospitality</sapn>であろう。</p>

一部分の言語の判断は常に難しいものです。もし判断が難しい場合は、その部分を日本語に置き換えてみてください。日本語にすると意味がなくなるような場合は、多くの場合、正しく言語指定をした方が良いでしょう。反対に、例えばネイティブの発音で読まれると日本語を母国語とする話者では混乱してしまうことが予想される場合は、無理に言語を変更する必要はないかもしれません。

補足

  • 日本語と英語を切り替えるために English というリンクが用意されている場合、そのリンクは英語の音声ブラウザ等で利用される可能性があります。そのような場合には正しく英語であることを指定しておく必要があります。
  • ホームページのフッターに配置される Copyright は多くの場合に英語で記述されておりlang属性が必要です。
  • 固有名詞、技術用語、言語が不明な語句及びすぐ前後にあるテキストの言語の一部になっている単語や語句は、例外とみなすことができます。
  • ISO 639-1 のコードリスト(別ウィンドウで開く)
  • 達成方法H57(別ウィンドウで開く)の訳註において、meta要素のcontent属性がtext/htmlの場合にはlang属性があれば、あるいは、application/xhtml+xmlの場合にはxml:lang属性があれば規格を満たすとされています。

関連する達成基準、達成方法


(他のテクニックは「miChecker対策テクニック集」に整理されています。)

2021年2月5日