ja.json 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118
  1. {
  2. "lang": "ja",
  3. "rules": {
  4. "accesskeys": {
  5. "description": "すべてのaccesskey属性の値が一意であることを確認します",
  6. "help": "accesskey属性の値は一意でなければなりません"
  7. },
  8. "area-alt": {
  9. "description": "イメージマップの<area>要素に代替テキストが存在することを確認します",
  10. "help": "アクティブな<area>要素には代替テキストが存在しなければなりません"
  11. },
  12. "aria-allowed-attr": {
  13. "description": "要素のロールがARIA属性をサポートしていることを確認します",
  14. "help": "要素にはサポートされているARIA属性のみを使用しなければなりません"
  15. },
  16. "aria-allowed-role": {
  17. "description": "role属性の値が要素に対して適切であることを確認します",
  18. "help": "ARIAロールは要素に対して適切でなければなりません"
  19. },
  20. "aria-braille-equivalent": {
  21. "description": "aria-braillelabelとaria-brailleroledescriptionには、点字以外の同等のものが存在することを確認します",
  22. "help": "aria-braille属性には、点字以外の同等のものがなければなりません "
  23. },
  24. "aria-command-name": {
  25. "description": "すべてのARIA button、link、menuitemにアクセシブルな名前があることを確認します",
  26. "help": "ARIAコマンドにはアクセシブルな名前がなければなりません"
  27. },
  28. "aria-conditional-attr": {
  29. "description": "ARIA属性が要素のロールの仕様に従って使用されていることを確認します",
  30. "help": "ARIA属性は要素のロールの仕様に従って使用しなければなりません"
  31. },
  32. "aria-deprecated-role": {
  33. "description": "要素に非推奨のロールが使用されていないことを確認します",
  34. "help": "非推奨のARIAロールを使用してはなりません"
  35. },
  36. "aria-dialog-name": {
  37. "description": "すべてのARIA dialog、alertdialogノードにアクセシブルな名前があることを確認します",
  38. "help": "ARIA dialogとalertdialogノードにはアクセシブルな名前がなければなりません"
  39. },
  40. "aria-hidden-body": {
  41. "description": "ドキュメント本体にaria-hidden=\"true\"が存在しないことを確認します",
  42. "help": "ドキュメント本体にaria-hidden=\"true\"が存在してはなりません"
  43. },
  44. "aria-hidden-focus": {
  45. "description": "aria-hiddenが指定されている要素にフォーカスできないこと、その要素にフォーカス可能な要素が含まれていないことを確認します",
  46. "help": "aria-hiddenが指定されている要素は、フォーカス可能であったり、フォーカス可能な要素を含んでいたりしてはなりません"
  47. },
  48. "aria-input-field-name": {
  49. "description": "すべてのARIA入力欄にアクセシブルな名前があることを確認します",
  50. "help": "ARIA入力欄にはアクセシブルな名前がなければなりません"
  51. },
  52. "aria-meter-name": {
  53. "description": "すべてのARIA meterノードにアクセシブルな名前があることを確認します",
  54. "help": "ARIA meterノードにはアクセシブルな名前がなければなりません"
  55. },
  56. "aria-progressbar-name": {
  57. "description": "すべてのARIA progressbarノードにアクセシブルな名前があることを確認します",
  58. "help": "ARIA progressbarノードにはアクセシブルな名前がなければなりません"
  59. },
  60. "aria-prohibited-attr": {
  61. "description": "要素のロールでARIA属性が禁止されていないことを確認します",
  62. "help": "要素には禁止されているARIA属性を使用してはなりません"
  63. },
  64. "aria-required-attr": {
  65. "description": "ARIAロールのある要素にすべての必須ARIA属性が存在することを確認します",
  66. "help": "必須のARIA属性が提供されていなければなりません"
  67. },
  68. "aria-required-children": {
  69. "description": "子ロールを必須とするARIAロールが指定された要素に、それらが含まれていることを確認します",
  70. "help": "特定のARIAロールには特定の子が含まれていなければなりません"
  71. },
  72. "aria-required-parent": {
  73. "description": "親ロールを必須とするARIAロールが指定された要素に、それらが含まれていることを確認します",
  74. "help": "特定のARIAロールは特定の親に含まれていなければなりません"
  75. },
  76. "aria-roledescription": {
  77. "description": "aria-roledescriptionが暗黙的もしくは明示的なロールを持った要素に使用されていることを確認します",
  78. "help": "aria-roledescriptionはセマンティックなロールを持った要素に使用しなければなりません"
  79. },
  80. "aria-roles": {
  81. "description": "すべてのrole属性が指定された要素で、有効な値が使用されていることを確認します",
  82. "help": "使用されているARIAロールは有効な値に一致しなければなりません"
  83. },
  84. "aria-text": {
  85. "description": "role=\"text\"が指定されている要素にフォーカス可能な子孫がないことを確認します",
  86. "help": "\"role=text\"が指定されている要素には、フォーカス可能な子孫が含まれていてはなりません"
  87. },
  88. "aria-toggle-field-name": {
  89. "description": "すべてのARIAトグル欄にアクセシブルな名前があることを確認します",
  90. "help": "ARIAトグル欄にはアクセシブルな名前がなければなりません"
  91. },
  92. "aria-tooltip-name": {
  93. "description": "すべてのARIA tooltipノードにアクセシブルな名前があることを確認します",
  94. "help": "ARIA tooltipノードにはアクセシブルな名前がなければなりません"
  95. },
  96. "aria-treeitem-name": {
  97. "description": "すべてのARIA treeitemノードにアクセシブルな名前があることを確認します",
  98. "help": "ARIA treeitemノードにはアクセシブルな名前がなければなりません"
  99. },
  100. "aria-valid-attr-value": {
  101. "description": "すべてのARIA属性に有効な値が存在することを確認します",
  102. "help": "ARIA属性は有効な値に一致しなければなりません"
  103. },
  104. "aria-valid-attr": {
  105. "description": "aria- で始まる属性が有効なARIA属性であることを確認します",
  106. "help": "ARIA属性は有効な名前に一致しなければなりません"
  107. },
  108. "audio-caption": {
  109. "description": "<audio>要素にキャプションが存在することを確認します",
  110. "help": "<audio>要素にはキャプショントラックが存在しなければなりません"
  111. },
  112. "autocomplete-valid": {
  113. "description": "autocomplete属性が正しく、かつフォームフィールドに対して適切であることを確認します",
  114. "help": "autocomplete属性は正しく使用しなければなりません"
  115. },
  116. "avoid-inline-spacing": {
  117. "description": "style属性で指定されたテキストの間隔は、カスタムスタイルシートにより調整可能であることを確認します",
  118. "help": "インラインのテキスト間隔設定はカスタムスタイルシートによって調整可能でなければなりません"
  119. },
  120. "blink": {
  121. "description": "<blink>要素が使用されていないことを確認します",
  122. "help": "<blink>要素の使用は非推奨で、使用するべきではありません"
  123. },
  124. "button-name": {
  125. "description": "ボタンに認識可能なテキストが存在することを確認します",
  126. "help": "ボタンには認識可能なテキストが存在しなければなりません"
  127. },
  128. "bypass": {
  129. "description": "各ページに少なくとも1つ、ユーザーがナビゲーション部分をスキップして直接本文へ移動できるメカニズムが存在することを確認します",
  130. "help": "ページには繰り返されるブロックをスキップする手段が存在しなければなりません"
  131. },
  132. "color-contrast-enhanced": {
  133. "description": "前景色と背景色のコントラストがWCAG 2のAAAコントラスト比(高度)のしきい値を満たすことを確認します",
  134. "help": "要素は色のコントラスト比(高度)の閾値を満たしていなければなりません"
  135. },
  136. "color-contrast": {
  137. "description": "前景色と背景色のコントラストがWCAG 2のAAコントラスト比(最低限)のしきい値を満たすことを確認します",
  138. "help": "要素は色のコントラスト比(最低限)の閾値を満たしていなければなりません"
  139. },
  140. "css-orientation-lock": {
  141. "description": "コンテンツが特定のディスプレイの向きに固定されていないこと、およびコンテンツがすべてのディスプレイの向きで操作可能なことを確認します",
  142. "help": "CSSメディアクエリーはディスプレイの向きを固定するために使用してはなりません"
  143. },
  144. "definition-list": {
  145. "description": "<dl>要素の構造が正しいことを確認します",
  146. "help": "<dl>要素は、適切な順序で並べられた<dt>および<dd>のグループ、<script>要素、<template>要素またはdiv要素のみを直接含んでいなければなりません"
  147. },
  148. "dlitem": {
  149. "description": "<dt>および<dd>要素が<dl>に含まれていることを確認します",
  150. "help": "<dt>および<dd>要素は<dl>に含まれていなければなりません"
  151. },
  152. "document-title": {
  153. "description": "各HTMLドキュメントに空ではない<title>要素が含まれていることを確認します",
  154. "help": "ドキュメントにはナビゲーションを補助するために<title>要素がなければなりません"
  155. },
  156. "duplicate-id-active": {
  157. "description": "アクティブな要素のid属性の値が一意であることを確認します",
  158. "help": "アクティブな要素のIDは一意でなければなりません"
  159. },
  160. "duplicate-id-aria": {
  161. "description": "ARIAおよびラベルに使用されているすべてのid属性の値が一意であることを確認します",
  162. "help": "ARIAおよびラベルに使用されているIDは一意でなければなりません"
  163. },
  164. "duplicate-id": {
  165. "description": "すべてのid属性の値が一意であることを確認します",
  166. "help": "id属性の値は一意でなければなりません"
  167. },
  168. "empty-heading": {
  169. "description": "見出しに認識可能なテキストが存在することを確認します",
  170. "help": "見出しは空にしてはなりません"
  171. },
  172. "empty-table-header": {
  173. "description": "テーブルのヘッダーに認識可能なテキストが存在することを確認します",
  174. "help": "テーブルのヘッダーは空にしてはなりません"
  175. },
  176. "focus-order-semantics": {
  177. "description": "フォーカス順序に含まれる要素にインタラクティブコンテンツに適したロールがあることを確認します",
  178. "help": "フォーカス順序に含まれる要素には、適切なロールがなければなりません"
  179. },
  180. "form-field-multiple-labels": {
  181. "description": "フォームフィールドに複数のlabel要素が存在しないことを確認します",
  182. "help": "フォームフィールドに複数のlabel要素を付与してはなりりません"
  183. },
  184. "frame-focusable-content": {
  185. "description": "フォーカス可能な<frame>と<iframe>要素に、tabindex=-1が指定されていないことを確認します",
  186. "help": "フォーカス可能なコンテンツを含むフレームには、tabindex=-1が指定されていてはなりません"
  187. },
  188. "frame-tested": {
  189. "description": "<iframe>および<frame>要素にaxe-coreスクリプトが含まれていることを確認します",
  190. "help": "フレームはaxe-coreでテストしなければなりません"
  191. },
  192. "frame-title-unique": {
  193. "description": "<iframe>および<frame>要素に一意のtitle属性が含まれていることを確認します",
  194. "help": "フレームには一意のtitle属性がなければなりません"
  195. },
  196. "frame-title": {
  197. "description": "<iframe>および<frame>要素にアクセシブルな名前が存在することを確認します",
  198. "help": "フレームにはアクセシブルな名前がなければなりません"
  199. },
  200. "heading-order": {
  201. "description": "見出しの順序が意味的に正しいことを確認します",
  202. "help": "見出しのレベルは1つずつ増加させなければなりません"
  203. },
  204. "hidden-content": {
  205. "description": "隠れているコンテンツについてユーザーに通知します",
  206. "help": "ページ上の隠れているコンテンツは分析されなければなりません"
  207. },
  208. "html-has-lang": {
  209. "description": "すべてのHTMLドキュメントにlang属性が存在することを確認します",
  210. "help": "<html>要素にはlang属性がなければなりません"
  211. },
  212. "html-lang-valid": {
  213. "description": "<html>要素のlang属性に有効な値があることを確認します",
  214. "help": "<html>要素のlang属性には有効な値がなければなりません"
  215. },
  216. "html-xml-lang-mismatch": {
  217. "description": "HTML要素に指定された有効なlangおよびxml:lang属性の両方がページの基本言語と一致することを確認します",
  218. "help": "HTML要素に指定されたlangおよびxml:lang属性は同じ基本言語を持たなければなりません"
  219. },
  220. "identical-links-same-purpose": {
  221. "description": "同じアクセシブルな名前を持つ複数のリンクが類似した目的を果たすことを確認します",
  222. "help": "同じ名前を持つ複数のリンクは類似した目的を持っていなければなりません"
  223. },
  224. "image-alt": {
  225. "description": "<img>要素に代替テキストが存在する、またはnoneまたはpresentationのロールが存在することを確認します",
  226. "help": "画像には代替テキストがなければなりません"
  227. },
  228. "image-redundant-alt": {
  229. "description": "画像の代替がテキストとして繰り返されていないことを確認します",
  230. "help": "画像の代替テキストはテキストとして繰り返されるべきではありません"
  231. },
  232. "input-button-name": {
  233. "description": "入力ボタンに認識可能なテキストが存在することを確認します",
  234. "help": "入力ボタンには認識可能なテキストが存在しなければなりません"
  235. },
  236. "input-image-alt": {
  237. "description": "<input type=\"image\">要素に代替テキストが存在することを確認します",
  238. "help": "画像ボタンには代替テキストがなければなりません"
  239. },
  240. "label-content-name-mismatch": {
  241. "description": "コンテンツによってラベル付けされた要素は、それらの視認できるテキストがアクセシブルな名前の一部になっていることを確認します",
  242. "help": "要素の視認できるテキストはそれらのアクセシブルな名前の一部でなければなりません"
  243. },
  244. "label-title-only": {
  245. "description": "すべてのフォーム要素に視認できるラベルがあり、非表示のラベル、titleまたはaria-describedby属性のみを使用してラベル付けされていないことを確認します",
  246. "help": "フォーム要素には視認できるラベルがなければなりません"
  247. },
  248. "label": {
  249. "description": "すべてのフォーム要素にラベルが存在することを確認します",
  250. "help": "フォーム要素にはラベルがなければなりません"
  251. },
  252. "landmark-banner-is-top-level": {
  253. "description": "bannerランドマークがトップレベルにあることを確認します",
  254. "help": "bannerランドマークは他のランドマークに含まれるべきではありません"
  255. },
  256. "landmark-complementary-is-top-level": {
  257. "description": "complementaryランドマークあるいはasideがトップレベルにあることを確認します",
  258. "help": "asideは他の要素に含まれるべきではありません"
  259. },
  260. "landmark-contentinfo-is-top-level": {
  261. "description": "contentinfoランドマークがトップレベルにあることを確認します",
  262. "help": "contentinfoランドマークは他のランドマークに含まれるべきではありません"
  263. },
  264. "landmark-main-is-top-level": {
  265. "description": "mainランドマークがトップレベルにあることを確認します",
  266. "help": "mainランドマークは他のランドマークに含まれるべきではありません"
  267. },
  268. "landmark-no-duplicate-banner": {
  269. "description": "ドキュメント内のbannerランドマークが最大で1つのみであることを確認します",
  270. "help": "ドキュメントに複数のbannerランドマークが存在してはなりません"
  271. },
  272. "landmark-no-duplicate-contentinfo": {
  273. "description": "ドキュメント内のcontentinfoランドマークが最大で1つのみであることを確認します",
  274. "help": "ドキュメントに複数のcontentinfoランドマークが存在してはなりません"
  275. },
  276. "landmark-no-duplicate-main": {
  277. "description": "ドキュメント内のmainランドマークが最大で1つのみであることを確認します",
  278. "help": "ドキュメントに複数のmainランドマークが存在してはなりません"
  279. },
  280. "landmark-one-main": {
  281. "description": "ドキュメントにmainランドマークが含まれていることを確認します",
  282. "help": "ドキュメントにはmainランドマークが1つ含まれていなければなりません"
  283. },
  284. "landmark-unique": {
  285. "help": "ランドマークが一意であることを確認します",
  286. "description": "ランドマークには一意のロール又はロール/ラベル/タイトル (すなわちアクセシブルな名前) の組み合わせがなければなりません"
  287. },
  288. "link-in-text-block": {
  289. "description": "リンクが色に依存しない形で周囲のテキストと区別できることを確認します",
  290. "help": "リンクは色に依存しない形で区別できなければなりません"
  291. },
  292. "link-name": {
  293. "description": "リンクに認識可能なテキストが存在することを確認します",
  294. "help": "リンクには認識可能なテキストがなければなりません"
  295. },
  296. "list": {
  297. "description": "リストが正しく構造化されていることを確認します",
  298. "help": "<ul>および<ol>の直下には<li>、<script>または<template>要素のみを含まなければなりません"
  299. },
  300. "listitem": {
  301. "description": "<li>要素がセマンティックに使用されていることを確認します",
  302. "help": "<li>要素は<ul>または<ol>内に含まれていなければなりません"
  303. },
  304. "marquee": {
  305. "description": "<marquee>要素が使用されていないことを確認します",
  306. "help": "<marquee>要素は非推奨のため、使用してはなりません"
  307. },
  308. "meta-refresh-no-exceptions": {
  309. "description": "一定時間経過後のページの自動リロードのために<meta http-equiv=\"refresh\">が使用されていないことを確認します",
  310. "help": "一定時間経過後のページの自動リロードを使用してはなりません"
  311. },
  312. "meta-refresh": {
  313. "description": "一定時間経過後のページの自動リロードのために<meta http-equiv=\"refresh\">が使用されていないことを確認します",
  314. "help": "20時間より短い時間経過後のページの自動リロードを使用してはなりません"
  315. },
  316. "meta-viewport-large": {
  317. "description": "<meta name=\"viewport\">で大幅に拡大縮小できることを確認します",
  318. "help": "ユーザーがズームをしてテキストを最大500%まで拡大できなければなりません"
  319. },
  320. "meta-viewport": {
  321. "description": "<meta name=\"viewport\">がテキストのサイズ変更やズームを無効化しないことを確認します",
  322. "help": "ズーム機能やテキストのサイズ変更は無効にしてはなりません"
  323. },
  324. "nested-interactive": {
  325. "description": "スクリーン・リーダーで必ずしもよみあげられなかったり支援技術のフォーカスに関する問題を引き起こす可能性があったりするため、対話的なコントロールがネストされていないことを確認します",
  326. "help": "対話的なコントロールはネストされていてはなりません"
  327. },
  328. "no-autoplay-audio": {
  329. "description": "<video> または <audio> 要素が音声を停止またはミュートするコントロールなしに音声を3秒より長く自動再生しないことを確認します",
  330. "help": "<video> または <audio> 要素は音声を自動再生してはなりません"
  331. },
  332. "object-alt": {
  333. "description": "<object>要素に代替テキストが存在することを確認します",
  334. "help": "<object>要素には代替テキストがなければなりません"
  335. },
  336. "p-as-heading": {
  337. "description": "<p>要素を見出しとしてスタイル付けするために太字、イタリック体、およびフォントサイズが使用されていないことを確認します",
  338. "help": "スタイル付けした<p>要素を見出しとして使用してはなりません"
  339. },
  340. "page-has-heading-one": {
  341. "description": "ページ、またはそのページ中のフレームの少なくとも1つにはレベル1の見出しが含まれていることを確認します",
  342. "help": "ページにはレベル1の見出しが含まれていなければなりません"
  343. },
  344. "presentation-role-conflict": {
  345. "description": "すべてのスクリーン・リーダーに確実に無視させるために、プレゼンテーション目的とされている要素にはグローバルなARIAまたはtabindexが指定されていてはなりません",
  346. "help": "プレゼンテーション目的とされている要素が一貫して無視されることを確認します"
  347. },
  348. "region": {
  349. "description": "ページのすべてのコンテンツがlandmarkに含まれていることを確認します",
  350. "help": "ページのすべてのコンテンツはlandmarkに含まれていなければなりません"
  351. },
  352. "role-img-alt": {
  353. "description": "[role=\"img\"] の要素に代替テキストが存在することを確認します",
  354. "help": "[role=\"img\"] の要素には代替テキストがなければなりません"
  355. },
  356. "scope-attr-valid": {
  357. "description": "scope属性がテーブルで正しく使用されていることを確認します",
  358. "help": "scope属性は正しく使用されなければなりません"
  359. },
  360. "scrollable-region-focusable": {
  361. "description": "スクロール可能なコンテンツを持つ要素がキーボードでアクセスできることを確認します",
  362. "help": "スクロール可能な領域はキーボードでアクセスできなければなりません"
  363. },
  364. "select-name": {
  365. "description": "select要素にはアクセシブルな名前があることを確認します",
  366. "help": "select要素にはアクセシブルな名前がなければなりません"
  367. },
  368. "server-side-image-map": {
  369. "description": "サーバーサイドのイメージマップが使用されていないことを確認します",
  370. "help": "サーバーサイドのイメージマップを使用してはなりません"
  371. },
  372. "skip-link": {
  373. "description": "すべてのスキップリンクにフォーカス可能なターゲットがあることを確認します",
  374. "help": "スキップリンクのターゲットが存在し、フォーカス可能でなければなりません"
  375. },
  376. "svg-img-alt": {
  377. "description": "img、graphics-documentまたはgraphics-symbolロールを持つsvg要素にアクセシブルなテキストがあることを確認します",
  378. "help": "imgロールを持つ<svg>要素には代替テキストが存在しなければなりません"
  379. },
  380. "tabindex": {
  381. "description": "tabindex属性値が0より大きくないことを確認します",
  382. "help": "要素に指定するtabindexは0より大きい値であってはなりません"
  383. },
  384. "table-duplicate-name": {
  385. "description": "<caption>要素の内用がsummary属性のテキストと同一ではないことを確認します",
  386. "help": "テーブルのキャプションとサマリーは同一であってはなりません"
  387. },
  388. "table-fake-caption": {
  389. "description": "キャプション付きのテーブルが<caption>要素を用いていることを確認します",
  390. "help": "データテーブルにキャプションをつけるためにデータまたはヘッダーセルを用いてはなりません"
  391. },
  392. "target-size": {
  393. "description": "タッチターゲットのサイズとスペースが十分にあることを確認します",
  394. "help": "すべてのタッチターゲットは24pxの大きさか、十分なスペースがなければなりません"
  395. },
  396. "td-has-header": {
  397. "description": "3×3より大きい<table>の空ではないデータセルにはそれぞれ1つ以上のテーブルヘッダーが存在することを確認します",
  398. "help": "大きい<table>の空ではない<td>要素は対応するテーブルヘッダーと関連づけられていなければなりません"
  399. },
  400. "td-headers-attr": {
  401. "description": "テーブルでheaders属性を使用している各セルの参照先が同じテーブル内の他のセルであることを確認します",
  402. "help": "テーブルのheaders属性を使用するすべてのセルは同じ表内の他のセルのみを参照しなければなりません"
  403. },
  404. "th-has-data-cells": {
  405. "description": "すべての<th>要素およびrole=columnheader/rowheaderを持つ要素にはそれらが説明するデータセルがあることを確認します",
  406. "help": "データテーブルのテーブルヘッダーはデータセルを参照していなければなりません"
  407. },
  408. "valid-lang": {
  409. "description": "lang属性に有効な値が存在することを確認します",
  410. "help": "lang属性には有効な値がなければなりません"
  411. },
  412. "video-caption": {
  413. "description": "<video>要素にキャプションが存在することを確認します",
  414. "help": "<video>要素にはキャプションがなければなりません"
  415. }
  416. },
  417. "checks": {
  418. "abstractrole": {
  419. "pass": "抽象ロールは使用されていません",
  420. "fail": {
  421. "singular": "抽象ロールは直接使用できません: ${data.values}",
  422. "plural": "抽象ロールは直接使用できません: ${data.values}"
  423. }
  424. },
  425. "aria-allowed-attr": {
  426. "pass": "ARIA属性が定義されたロールに対して正しく使用されています",
  427. "fail": {
  428. "singular": "ARIA属性は許可されていません: ${data.values}",
  429. "plural": "ARIA属性は許可されていません: ${data.values}"
  430. },
  431. "incomplete": "この要素のARIA属性が無視されても問題ないことを確認しましょう: ${data.values}"
  432. },
  433. "aria-allowed-role": {
  434. "pass": "ARIAロールは指定された要素に対して許可されています",
  435. "fail": {
  436. "singular": "ARIAロール${data.values}は指定された要素では許可されていません",
  437. "plural": "ARIAロール${data.values}は指定された要素では許可されていません"
  438. },
  439. "incomplete": {
  440. "singular": "ARIAロール${data.values}はこの要素では許可されていないため、要素が表示されたときはARIAロールを削除する必要があります",
  441. "plural": "ARIAロール${data.values}はこの要素では許可されていないため、要素が表示されたときはARIAロールを削除する必要があります"
  442. }
  443. },
  444. "aria-busy": {
  445. "pass": "要素にはaria-busy属性が存在します",
  446. "fail": "ローダーを表示中に、要素aria-busy=\"true\"が指定されています"
  447. },
  448. "aria-conditional-attr": {
  449. "pass": "ARIA 属性が許可されています",
  450. "fail": {
  451. "checkbox": "aria-checkedを削除するか\"${data.checkState}\"を設定して、チェックボックスの実際の状態と合うようにしましょう",
  452. "rowSingular": "treegridの行でサポートされている属性ですが、${data.ownerRole}: ${data.invalidAttrs}の場合はこの限りではありません",
  453. "rowPlural": "treegridの行でサポートされている属性ですが、${data.ownerRole}: ${data.invalidAttrs}の場合はこの限りではありません"
  454. }
  455. },
  456. "aria-errormessage": {
  457. "pass": "aria-errormessageが存在して、サポートされているaria-errormessageの手法を用いているスクリーン・リーダーが認識できる要素を参照しています",
  458. "fail": {
  459. "singular": "aria-errormessageの値`${data.values}`はメッセージを通知する方法を使用しなければなりません (例えば、aria-live、aria-describedby、role=alert等)",
  460. "plural": "aria-errormessageの値`${data.values}`はメッセージを通知する方法を使用しなければなりません (例えば、aria-live、aria-describedby、role=alert等)",
  461. "hidden": "aria-errormessageの値 `${data.values}`は非表示の要素を参照することはできません"
  462. },
  463. "incomplete": {
  464. "singular": "aria-errormessageの値 `${data.values}`は存在する要素を参照していることを確認しましょう",
  465. "plural": "aria-errormessageの値 `${data.values}`は存在する要素を参照していることを確認しましょう",
  466. "idrefs": "aria-errormessage要素がページ上に存在するかどうか判定できません: ${data.values}"
  467. }
  468. },
  469. "aria-hidden-body": {
  470. "pass": "ドキュメント本体にaria-hidden属性は存在しません",
  471. "fail": "aria-hidden=trueはドキュメント本体に存在してはなりません"
  472. },
  473. "aria-level": {
  474. "pass": "aria-levelの値は有効です",
  475. "incomplete": "6より大きいaria-levelの値は、どのスクリーンリーダーとブラウザーの組み合わせでもサポートされていません"
  476. },
  477. "aria-prohibited-attr": {
  478. "pass": "ARIA属性は使用できます",
  479. "fail": {
  480. "hasRolePlural": "${data.prohibited}属性は\"${data.role}\"ロールでは使用できません",
  481. "hasRoleSingular": "${data.prohibited}属性は\"${data.role}\"ロールでは使用できません",
  482. "noRolePlural": "${data.prohibited}属性は、有効なrole属性のない${data.nodeName}では使用できません",
  483. "noRoleSingular": "${data.prohibited}属性は、有効なrole属性のない${data.nodeName}では使用できません"
  484. },
  485. "incomplete": {
  486. "hasRoleSingular": "${data.prohibited}属性はロール\"${data.role}\"では十分にサポートされていません",
  487. "hasRolePlural": "${data.prohibited}属性はロール\"${data.role}\"では十分にサポートされていません",
  488. "noRoleSingular": "${data.prohibited}属性は、有効なrole属性のない${data.nodeName}では十分にサポートされていません",
  489. "noRolePlural": "${data.prohibited}属性は、有効なrole属性のない${data.nodeName}では十分にサポートされていません"
  490. }
  491. },
  492. "aria-required-attr": {
  493. "pass": "すべての必須のARIA属性が存在します",
  494. "fail": {
  495. "singular": "必須のARIA属性が提供されていません: ${data.values}",
  496. "plural": "必須のARIA属性が提供されていません: ${data.values}"
  497. }
  498. },
  499. "aria-required-children": {
  500. "pass": {
  501. "default": "必須のARIA子ロールが存在します",
  502. "aria-busy": "要素にはaria-busy属性が指定されているため、必要な子要素を省略することが許可されています"
  503. },
  504. "fail": {
  505. "singular": "必須のARIA子ロールが提供されていません: ${data.values}",
  506. "plural": "必須のARIA子ロールが提供されていません: ${data.values}",
  507. "unallowed": "要素には許可されていないARIA子ロールがあります: ${data.values}"
  508. },
  509. "incomplete": {
  510. "singular": "ARIAの子ロールを追加することが求められます: ${data.values}",
  511. "plural": "ARIAの子ロールを追加することが求められます: ${data.values}"
  512. }
  513. },
  514. "aria-required-parent": {
  515. "pass": "必須のARIA親ロールが存在します",
  516. "fail": {
  517. "singular": "必須のARIA親ロールが提供されていません: ${data.values}",
  518. "plural": "必須のARIA親ロールが提供されていません: ${data.values}"
  519. }
  520. },
  521. "aria-roledescription": {
  522. "pass": "aria-roledescriptionはサポートされたセマンティックなロールに使用されています",
  523. "incomplete": "aria-roledescriptionがサポートされたスクリーン・リーダーで読み上げられることを確認しましょう",
  524. "fail": "aria-roledescriptionをサポートするロールを要素に付与しましょう"
  525. },
  526. "aria-unsupported-attr": {
  527. "pass": "ARIA属性はサポートされています",
  528. "fail": "ARIA属性はスクリーン・リーダーや支援技術に広くサポートされていません: ${data.values}"
  529. },
  530. "aria-valid-attr-value": {
  531. "pass": "ARIA属性値が有効です",
  532. "fail": {
  533. "singular": "無効なARIA属性値です: ${data.values}",
  534. "plural": "無効なARIA属性値です: ${data.values}"
  535. },
  536. "incomplete": {
  537. "noId": "ARIA属性で指定されている要素のIDがページ上に存在しません: ${data.needsReview}",
  538. "noIdShadow": "ARIA属性で指定されている要素のIDがページ上に存在しないか、別のshadow DOMツリーの小要素です: ${data.needsReview}",
  539. "ariaCurrent": "ARIA属性値が無効であるため、\"aria-current=true\"として扱われます: ${data.needsReview}",
  540. "idrefs": "ARIA属性で指定されている要素のIDがページ上に存在するかどうか判定できません: ${data.needsReview}",
  541. "empty": "ARIA属性値が空のときは無視されます: ${data.needsReview}",
  542. "controlsWithinPopup": "aria-haspopupを使用している際にaria-controlsが参照するIDがページ上に存在するかどうかを判断できません: ${data.needsReview}"
  543. }
  544. },
  545. "aria-valid-attr": {
  546. "pass": "ARIA属性名が有効です",
  547. "fail": {
  548. "singular": "無効なARIA属性名です: ${data.values}",
  549. "plural": "無効なARIA属性名です: ${data.values}"
  550. }
  551. },
  552. "braille-label-equivalent": {
  553. "pass": "aria-braillelabelはアクセシブルなテキストがある要素に対して使用されています",
  554. "fail": "aria-braillelabelがアクセシブルなテキストがない要素に対して使用されています",
  555. "incomplete": "アクセシブルなテキストを算出することができません"
  556. },
  557. "braille-roledescription-equivalent": {
  558. "pass": "aria-brailleroledescriptionはaria-roledescriptionが指定されている要素に対して使用されています",
  559. "fail": {
  560. "noRoleDescription": "aria-brailleroledescriptionがaria-roledescriptionが指定されていない要素に対して使用されています",
  561. "emptyRoleDescription": "aria-brailleroledescriptionが空のaria-roledescriptionが指定されている要素に対して使用されています"
  562. }
  563. },
  564. "deprecatedrole": {
  565. "pass": "非推奨のARIAロールではありません",
  566. "fail": "非推奨のロールが使用されています: ${data}"
  567. },
  568. "fallbackrole": {
  569. "pass": "1つのロール値のみ使用されています",
  570. "fail": "古いブラウザーではフォールバックロールがサポートされていないため、ロール値は1つのみ使用します",
  571. "incomplete": "'presentation'と'none'のロールは同義なので、どちらか一方のみを使用します。"
  572. },
  573. "has-global-aria-attribute": {
  574. "pass": {
  575. "singular": "要素にはグローバルなARIA属性が指定されています: ${data.values}",
  576. "plural": "要素にはグローバルなARIA属性が指定されています: ${data.values}"
  577. },
  578. "fail": "要素にはグローバルなARIA属性が指定されていません"
  579. },
  580. "has-widget-role": {
  581. "pass": "要素にはwidgetロールが存在します",
  582. "fail": "要素にはwidgetロールが存在しません"
  583. },
  584. "invalidrole": {
  585. "pass": "ARIAロールが有効です",
  586. "fail": {
  587. "singular": "ロールは有効なARIAロールのうちの1つでなければなりません: ${data.values}",
  588. "plural": "ロールは有効なARIAロールのうちの1つでなければなりません: ${data.values}"
  589. }
  590. },
  591. "is-element-focusable": {
  592. "pass": "フォーカス可能な要素です",
  593. "fail": "フォーカス不可能な要素です"
  594. },
  595. "no-implicit-explicit-label": {
  596. "pass": "<label> とアクセシブルな名前の間に不一致はありません",
  597. "incomplete": "<label>がARIA ${data}欄の名前の一部である必要がないことを確認しましょう"
  598. },
  599. "unsupportedrole": {
  600. "pass": "ARIAロールはサポートされています",
  601. "fail": "使用されているロールはスクリーン・リーダーや支援技術に広くサポートされていません: ${data.values}"
  602. },
  603. "valid-scrollable-semantics": {
  604. "pass": "要素はフォーカス順序に含まれる要素に対して有効なセマンティクスを持ちます",
  605. "fail": "要素はフォーカス順序に含まれる要素に対して無効なセマンティクスを持ちます"
  606. },
  607. "color-contrast-enhanced": {
  608. "pass": "要素には${data.contrastRatio}の十分なコントラスト比があります",
  609. "fail": {
  610. "default": "要素のコントラスト比が不十分です ${data.contrastRatio}(前景色: ${data.fgColor}、背景色: ${data.bgColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします",
  611. "fgOnShadowColor": "要素の前景色と影(text-shadow)の色のコントラスト比が不十分です ${data.contrastRatio}(前景色: ${data.fgColor}、影(text-shadow)の色: ${data.shadowColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします",
  612. "shadowOnBgColor": "要素の影(text-shadow)の色と背景色のコントラスト比が不十分です ${data.contrastRatio}(影(text-shadow)の色: ${data.shadowColor}、背景色: ${data.bgColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします"
  613. },
  614. "incomplete": {
  615. "default": "コントラスト比を判定できません",
  616. "bgImage": "背景画像のため、要素の背景色を判定できません",
  617. "bgGradient": "背景グラデーションのため、要素の背景色を判定できません",
  618. "imgNode": "画像ノードが含まれるため、要素の背景色を判定できません",
  619. "bgOverlap": "他の要素と重なっているため、要素の背景色を判定できません",
  620. "fgAlpha": "アルファ透明度により、要素の前景色を判定できません",
  621. "elmPartiallyObscured": "他の要素により部分的に不明瞭なため、要素の背景色を判定できません",
  622. "elmPartiallyObscuring": "他の要素と部分的に重なっているため、要素の背景色を判定できません",
  623. "outsideViewport": "ビューポートの外にあるため、要素の背景色を判定できません",
  624. "equalRatio": "要素のコントラスト比が背景と1:1です",
  625. "shortTextContent": "実際のテキストコンテンツであるかを判断するには要素のコンテンツが短すぎます",
  626. "nonBmp": "要素のコンテンツはテキストではない文字のみを含んでいます",
  627. "pseudoContent": "擬似要素のため、要素の背景色を判定することができません"
  628. }
  629. },
  630. "color-contrast": {
  631. "pass": {
  632. "default": "要素には${data.contrastRatio}の十分なコントラスト比があります",
  633. "hidden": "要素は非表示です"
  634. },
  635. "fail": {
  636. "default": "要素のコントラスト比が不十分です ${data.contrastRatio}(前景色: ${data.fgColor}、背景色: ${data.bgColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします",
  637. "fgOnShadowColor": "要素の前景色と影(text-shadow)の色のコントラスト比が不十分です ${data.contrastRatio}(前景色: ${data.fgColor}、影(text-shadow)の色: ${data.shadowColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします",
  638. "shadowOnBgColor": "要素の影(text-shadow)の色と背景色のコントラスト比が不十分です ${data.contrastRatio}(影(text-shadow)の色: ${data.shadowColor}、背景色: ${data.bgColor}、フォントサイズ: ${data.fontSize}、フォントの太さ: ${data.fontWeight})。コントラスト比${data.expectedContrastRatio}を必要とします"
  639. },
  640. "incomplete": {
  641. "default": "コントラスト比を判定できません",
  642. "bgImage": "背景画像のため、要素の背景色を判定できません",
  643. "bgGradient": "背景グラデーションのため、要素の背景色を判定できません",
  644. "imgNode": "画像ノードが含まれるため、要素の背景色を判定できません",
  645. "bgOverlap": "他の要素と重なっているため、要素の背景色を判定できません",
  646. "complexTextShadows": "複雑なtext-shadowが用いられているため、要素のコントラスト比を判定できません",
  647. "fgAlpha": "アルファ透明度により、要素の前景色を判定できません",
  648. "elmPartiallyObscured": "他の要素により部分的に不明瞭なため、要素の背景色を判定できません",
  649. "elmPartiallyObscuring": "他の要素と部分的に重なっているため、要素の背景色を判定できません",
  650. "outsideViewport": "ビューポートの外にあるため、要素の背景色を判定できません",
  651. "equalRatio": "要素のコントラスト比が背景と1:1です",
  652. "shortTextContent": "実際のテキストコンテンツであるかを判断するには要素のコンテンツが短すぎます",
  653. "nonBmp": "要素のコンテンツはテキストではない文字のみを含んでいます",
  654. "pseudoContent": "擬似要素のため、要素の背景色を判定することができません"
  655. }
  656. },
  657. "link-in-text-block-style": {
  658. "pass": "リンクは視覚的なスタイル付けによって周囲のテキストと区別できます",
  659. "incomplete": {
  660. "default": "リンクを近接したテキストと区別するために、スタイル付けが必要か確認しましょう。",
  661. "pseudoContent": "リンクの擬似スタイルが、周囲のテキストと区別するのに充分か確認しましょう。"
  662. },
  663. "fail": "リンクには、周囲のテキストと区別するためのスタイル (下線など) がありません"
  664. },
  665. "link-in-text-block": {
  666. "pass": "リンクは色以外の方法で周囲のテキストと区別できます",
  667. "fail": {
  668. "fgContrast": "このリンクは、周囲のテキストとの${data.contrastRatio}:1の色のコントラストが不十分です。(最小コントラストは${data.requiredContrastRatio}:1、リンクテキスト: ${data.nodeColor}、周囲のテキスト: ${data.parentColor})",
  669. "bgContrast": "リンクの背景の色コントラストが${data.contrastRatio}で十分ではありません (最小コントラストは${data.requiredContrastRatio}:1、リンク背景色: ${data.nodeBackgroundColor}、周囲の背景色: ${data.parentBackgroundColor})"
  670. },
  671. "incomplete": {
  672. "default": "要素の前景コントラスト比を判定できません",
  673. "bgContrast": "要素の背景コントラスト比を判定できません",
  674. "bgImage": "背景画像のため、要素のコントラスト比を判定できません",
  675. "bgGradient": "背景グラデーションのため、要素のコントラスト比を判定できません",
  676. "imgNode": "画像ノードが含まれるため、要素のコントラスト比を判定できません",
  677. "bgOverlap": "要素の重なりにより、要素のコントラスト比を判定できません"
  678. }
  679. },
  680. "autocomplete-appropriate": {
  681. "pass": "オートコンプリートの値は適切な要素に指定されています",
  682. "fail": "オートコンプリートの値はこの種類の入力項目には適切ではありません"
  683. },
  684. "autocomplete-valid": {
  685. "pass": "autocomplete属性は正しくフォーマットされています",
  686. "fail": "autocomplete属性は誤ってフォーマットされています"
  687. },
  688. "accesskeys": {
  689. "pass": "accesskey属性の値は一意です",
  690. "fail": "ドキュメントに同じaccesskeyを持った複数の要素が存在します"
  691. },
  692. "focusable-content": {
  693. "pass": "要素内にフォーカス可能な要素が含まれています",
  694. "fail": "要素にフォーカス可能なコンテンツが存在するべきです"
  695. },
  696. "focusable-disabled": {
  697. "pass": "要素内にフォーカス可能な要素は含まれていません",
  698. "incomplete": "フォーカス可能な要素がすぐにフォーカスインジケータを動かすかどうか確認しましょう",
  699. "fail": "フォーカス可能なコンテンツは無効にするか、DOMから削除するべきです"
  700. },
  701. "focusable-element": {
  702. "pass": "要素はフォーカス可能です",
  703. "fail": "要素はフォーカス可能であるべきです"
  704. },
  705. "focusable-modal-open": {
  706. "pass": "モーダルが開いている時に、フォーカス可能な要素はありません",
  707. "incomplete": "現在の状態で、フォーカス可能な要素にタブ移動可能になっていないことを確認しましょう"
  708. },
  709. "focusable-no-name": {
  710. "pass": "要素がタブ順序にない、またはアクセシブルなテキストが存在します",
  711. "fail": "要素がタブ順序にあり、アクセシブルなテキストが存在しません",
  712. "incomplete": "要素にアクセシブルな名前があるか判定できません"
  713. },
  714. "focusable-not-tabbable": {
  715. "pass": "要素内にフォーカス不可能な要素は含まれていません",
  716. "incomplete": "フォーカス可能な要素がすぐにフォーカスインジケータを動かすかどうか確認しましょう",
  717. "fail": "フォーカス可能なコンテンツはtabindex=\"-1\"を指定するか、DOMから削除するべきです"
  718. },
  719. "frame-focusable-content": {
  720. "pass": "要素の子孫にフォーカス可能なものはありません",
  721. "fail": "要素の子孫にフォーカス可能なものがあります",
  722. "incomplete": "要素に子孫があるか判定できませんでした"
  723. },
  724. "landmark-is-top-level": {
  725. "pass": "${data.role}ランドマークはトップレベルにあります",
  726. "fail": "${data.role}ランドマークは他のランドマークに含まれています"
  727. },
  728. "no-focusable-content": {
  729. "pass": "要素の子孫にフォーカス可能なものはありません",
  730. "fail": {
  731. "default": "要素の子孫にフォーカス可能なものがあります",
  732. "notHidden": "インタラクティブなコントロールの内側の要素に負のtabindexを指定しても、(aria-hidden=\"true\"が指定されている場合も)支援技術がその要素にフォーカスできないようにはなりません"
  733. },
  734. "incomplete": "要素に子孫があるか判定できませんでした"
  735. },
  736. "page-has-heading-one": {
  737. "pass": "ページには少なくとも1つのレベル1の見出しがあります",
  738. "fail": "ページにはレベル1の見出しがなければなりません"
  739. },
  740. "page-has-main": {
  741. "pass": "ドキュメントには少なくとも1つのmainランドマークがあります",
  742. "fail": "ドキュメントにmainランドマークがありません"
  743. },
  744. "page-no-duplicate-banner": {
  745. "pass": "ドキュメントにbannerランドマークは複数ありません",
  746. "fail": "ドキュメントに複数のbannerランドマークがあります"
  747. },
  748. "page-no-duplicate-contentinfo": {
  749. "pass": "ドキュメントにcontentinfoランドマークは複数ありません",
  750. "fail": "ドキュメントに複数のcontentinfoランドマークがあります"
  751. },
  752. "page-no-duplicate-main": {
  753. "pass": "ドキュメントにmainランドマークは複数ありません",
  754. "fail": "ドキュメントに複数のmainランドマークがあります"
  755. },
  756. "tabindex": {
  757. "pass": "要素に0より大きいtabindexは存在しません",
  758. "fail": "要素に0より大きいtabindexが存在します"
  759. },
  760. "alt-space-value": {
  761. "pass": "要素に妥当なalt属性値があります",
  762. "fail": "要素にスペース文字のみを含んだalt属性があり、これは必ずしもすべてのスクリーン・リーダーに無視されません"
  763. },
  764. "duplicate-img-label": {
  765. "pass": "要素の既存のテキストと<img>の代替テキストは重複していません",
  766. "fail": "要素が既存のテキストと重複した代替テキストの存在する<img>要素を含んでいます"
  767. },
  768. "explicit-label": {
  769. "pass": "フォームの要素に明示的な<label>が存在します",
  770. "fail": "フォームの要素に明示的な<label>が存在しません",
  771. "incomplete": "フォームの要素に明示的な <label> があるか判定できませんでした"
  772. },
  773. "help-same-as-label": {
  774. "pass": "ヘルプテキスト(titleまたはaria-describedby)はラベルのテキストと重複していません",
  775. "fail": "ヘルプテキスト(titleまたはaria-describedby)がラベルのテキストと同じです"
  776. },
  777. "hidden-explicit-label": {
  778. "pass": "フォームの要素に視認可能で明示的な<label>があります",
  779. "fail": "フォームの要素に非表示の明示的な<label>があります",
  780. "incomplete": "フォームの要素に明示的で非表示の <label> があるか判定できませんでした"
  781. },
  782. "implicit-label": {
  783. "pass": "フォームの要素に暗黙の(包含された)<label>が存在します",
  784. "fail": "フォームの要素に暗黙の(包含された)<label>が存在しません",
  785. "incomplete": "フォームの要素に暗黙の(包含された)<label>が存在するか判定できません"
  786. },
  787. "label-content-name-mismatch": {
  788. "pass": "視認可能なテキストが要素のアクセシブルな名前の一部に含まれています",
  789. "fail": "要素内のテキストがアクセシブルな名前の一部に含まれていません"
  790. },
  791. "multiple-label": {
  792. "pass": "フォームフィールドにlabel要素は複数ありません",
  793. "incomplete": "複数のlabel要素は支援技術に広くサポートされていません。最初のラベルがすべての必要な情報を含んでいることを確認しましょう。"
  794. },
  795. "title-only": {
  796. "pass": "フォーム要素はラベルにtitle属性だけを用いていません",
  797. "fail": "フォーム要素のラベルにtitle属性だけを用いています"
  798. },
  799. "landmark-is-unique": {
  800. "pass": "ランドマークには一意のロール又はロール/ラベル/タイトル (例: アクセシブルな名前) の組み合わせがなければなりません",
  801. "fail": "ランドマークを識別可能にするため、ランドマークには一意のaria-label、aria-labelledby、またはtitleがなければなりません。"
  802. },
  803. "has-lang": {
  804. "pass": "<html>要素にlang属性が存在します",
  805. "fail": {
  806. "noXHTML": "HTMLページでxml:lang属性は有効ではありません、lang属性を使用してください。",
  807. "noLang": "<html>要素にlang属性が指定されていません"
  808. }
  809. },
  810. "valid-lang": {
  811. "pass": "lang属性の値が有効な言語の一覧に含まれています",
  812. "fail": "lang属性の値が有効な言語の一覧に含まれていません"
  813. },
  814. "xml-lang-mismatch": {
  815. "pass": "langおよびxml:lang属性に同じ基本言語を指定しています",
  816. "fail": "langおよびxml:lang属性に同じ基本言語を指定していません"
  817. },
  818. "dlitem": {
  819. "pass": "説明リスト項目に<dl>親要素が存在します",
  820. "fail": "説明リスト項目に<dl>親要素が存在しません"
  821. },
  822. "listitem": {
  823. "pass": "リスト項目に<ul>、<ol>、またはrole=\"list\"の親要素が存在します",
  824. "fail": {
  825. "default": "リスト項目に <ul>、<ol> 親要素が存在しません",
  826. "roleNotValid": "リスト項目の親要素に、role=\"list\"以外のロールが指定されています"
  827. }
  828. },
  829. "only-dlitems": {
  830. "pass": "dl要素内には許可されている直接の子要素、<dt>、<dd>および<div>要素のみが存在します",
  831. "fail": "dl要素内に許可されていない直接の子要素が存在します: ${data.values}"
  832. },
  833. "only-listitems": {
  834. "pass": "リスト要素内には許可されている直接の子要素、<li>要素のみが存在します",
  835. "fail": "リスト要素内に許可されていない直接の子要素が存在します: ${data.values}"
  836. },
  837. "structured-dlitems": {
  838. "pass": "空ではない場合、要素に<dt>および<dd>要素の両方が存在します",
  839. "fail": "空ではない場合、要素に少なくとも1つの<dt>要素に続く、少なくとも1つの<dd>要素が存在しません"
  840. },
  841. "caption": {
  842. "pass": "マルチメディア要素にキャプショントラックが存在します",
  843. "incomplete": "要素にキャプションが存在することを確認しましょう"
  844. },
  845. "frame-tested": {
  846. "pass": "iframeはaxe-coreでテストされました",
  847. "fail": "iframeはaxe-coreでテストできませんでした",
  848. "incomplete": "iframeはまだaxe-coreでテストする必要があります"
  849. },
  850. "no-autoplay-audio": {
  851. "pass": "<video> または <audio> は許可された時間より長く音声を出力しない、もしくはコントールするメカニズムを持っています",
  852. "fail": "<video> または <audio> は許可された時間より長く音声を出力し、かつコントロールするメカニズムを持っていません",
  853. "incomplete": "<video> または <audio> が許可された時間より長く音声を出力しない、またはコントロールするメカニズムを提供していることを確認しましょう"
  854. },
  855. "css-orientation-lock": {
  856. "pass": "ディスプレイは操作可能で、向きは固定されていません",
  857. "fail": "CSSにより向きが固定されており、ディスプレイ操作を不可能にしています",
  858. "incomplete": "CSSで向きが固定されているかどうか特定できません"
  859. },
  860. "meta-viewport-large": {
  861. "pass": "<meta>タグはモバイルデバイスでの大幅な拡大を阻止しません",
  862. "fail": "<meta>タグはモバイルデバイスでの拡大を制限します"
  863. },
  864. "meta-viewport": {
  865. "pass": "<meta>タグはモバイルデバイスでの拡大を無効にしません",
  866. "fail": "<meta>タグの${data}がモバイルデバイスでの拡大を無効にします"
  867. },
  868. "target-offset": {
  869. "pass": {
  870. "default": "ターゲットは最も近い隣接する要素との間に充分な大きさの空白があります。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上で直径${data.closestOffset}pxです。",
  871. "large": "ターゲットの大きさは、最低${data.minOffset}pxの基準を大きく上回っています。"
  872. },
  873. "fail": "ターゲットに最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。",
  874. "incomplete": {
  875. "default": "tabindexが負の要素において、最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。これがターゲットであるか確認しましょう。",
  876. "nonTabbableNeighbor": "ターゲットに最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。隣接要素がターゲットであるか確認しましょう。",
  877. "tooManyRects": "重複する要素が多すぎるため、ターゲットの大きさを取得できません。"
  878. }
  879. },
  880. "target-size": {
  881. "pass": {
  882. "default": "コントロールには十分なサイズがあります (${data.width}px x ${data.height}pxであり、${data.minSize}px x ${data.minSize}px以上です)",
  883. "obscured": "コントロールは完全に隠されていてクリックできないため無視されます",
  884. "large": "ターゲットの大きさはは最低${data.minSize}pxの基準を大きく上回っています。"
  885. },
  886. "fail": {
  887. "default": "ターゲットのサイズが不十分です (${data.width}px x ${data.height}pxですが、${data.minSize}px x ${data.minSize}px以上でなければなりません)",
  888. "partiallyObscured": "ターゲットは部分的に隠れているためサイズが不十分です (最小スペースは${data.width}px x ${data.height}pxですが、少なくとも${data.minSize}px x ${data.minSize}pxでなければなりません)"
  889. },
  890. "incomplete": {
  891. "default": "tabindexが負の要素のサイズが不十分です (${data.width}px x ${data.height}pxですが、${data.minSize}px x ${data.minSize}px以上でなければなりません)。これがターゲットであるか確認しましょう",
  892. "contentOverflow": "コンテンツがオーバーフローしたため、要素のサイズを正確に決定できませんでした",
  893. "partiallyObscured": "tabindexが負の要素は、部分的に隠れているためサイズが不十分です (最小のスペースは${data.width}px x ${data.height}pxですが、${data.minSize}px x ${data.minSize}px以上でなければなりません)。これがターゲットであるか確認しましょう",
  894. "partiallyObscuredNonTabbable": "ターゲットのサイズが不十分です。これはtabindexが負の隣接オブジェクトによって部分的に隠されているためです (最小のスペースは${data.width}px x ${data.height}pxですが、${data.minSize}px x ${data.minSize}px以上でなければなりません)。隣接要素がターゲットであるか確認しましょう",
  895. "tooManyRects": "重複する要素が多すぎるため、ターゲットの大きさを取得できません。"
  896. }
  897. },
  898. "header-present": {
  899. "pass": "ページに見出しが存在します",
  900. "fail": "ページに見出しが存在しません"
  901. },
  902. "heading-order": {
  903. "pass": "見出しの順序が有効です",
  904. "fail": "見出しの順序が無効です",
  905. "incomplete": "1つ前の見出しを特定できません"
  906. },
  907. "identical-links-same-purpose": {
  908. "pass": "同じ名前で異なるURLに遷移する他のリンクはありません",
  909. "incomplete": "リンクが同じ目的を持っていること、または意図的に不明瞭になっていることを確認しましょう"
  910. },
  911. "internal-link-present": {
  912. "pass": "有効なスキップリンクが存在します",
  913. "fail": "有効なスキップリンクが存在しません"
  914. },
  915. "landmark": {
  916. "pass": "ページにランドマーク領域が存在します",
  917. "fail": "ページにランドマーク領域が存在しません"
  918. },
  919. "meta-refresh-no-exceptions": {
  920. "pass": "<meta>タグはすぐにページを更新しません",
  921. "fail": "<meta>タグは一定時間経過後に強制的にページを更新します"
  922. },
  923. "meta-refresh": {
  924. "pass": "<meta>タグはすぐにページを更新しません",
  925. "fail": "<meta>タグは一定時間経過後に強制的にページを更新します (20時間未満)"
  926. },
  927. "p-as-heading": {
  928. "pass": "<p>要素が見出しとしてスタイル付けされていません",
  929. "fail": "スタイル付けされた<p>要素ではなく、見出し要素を使用すべきです",
  930. "incomplete": "<p> 要素に見出しのスタイル付けがされているかどうか判定できません"
  931. },
  932. "region": {
  933. "pass": "ページのすべてのコンテンツがランドマークに含まれています",
  934. "fail": "ページの一部のコンテンツがランドマークに含まれていません"
  935. },
  936. "skip-link": {
  937. "pass": "スキップリンクのターゲットが存在します",
  938. "incomplete": "スキップリンクのターゲットは活性化された時に表示されるべきです",
  939. "fail": "スキップリンクのターゲットがありません"
  940. },
  941. "unique-frame-title": {
  942. "pass": "要素のtitle属性が一意です",
  943. "fail": "要素のtitle属性が一意ではありません"
  944. },
  945. "duplicate-id-active": {
  946. "pass": "ドキュメントに同じid属性を持つ有効な要素はありません",
  947. "fail": "ドキュメントに同じid属性を持つ有効な要素があります: ${data}"
  948. },
  949. "duplicate-id-aria": {
  950. "pass": "ARIAまたはラベルが参照している要素で、同じid属性を持つものはありません",
  951. "fail": "ARIAが参照している要素で、複数の要素で同じid属性を持つものがあります: ${data}"
  952. },
  953. "duplicate-id": {
  954. "pass": "ドキュメントにid属性が同じ静的な要素はありません",
  955. "fail": "ドキュメントにid属性が同じ静的な要素が複数存在します"
  956. },
  957. "aria-label": {
  958. "pass": "aria-label属性が存在し、空ではありません",
  959. "fail": "aria-label属性が存在しない、または空です"
  960. },
  961. "aria-labelledby": {
  962. "pass": "aria-labelledby属性が存在し、スクリーン・リーダーに認識可能な要素を参照しています",
  963. "fail": "aria-labelledby属性が存在しない、存在しない要素を参照している、または空の要素を参照しています",
  964. "incomplete": "aria-labelledby属性が、存在する要素を参照していることを確認しましょう"
  965. },
  966. "avoid-inline-spacing": {
  967. "pass": "テキストの間隔に影響する'!important'のついたインラインスタイルは指定されていません",
  968. "fail": {
  969. "singular": "ほとんどのブラウザーで上書きすることはサポートされていないため、インラインスタイル${data.values}から'!important'を削除します",
  970. "plural": "ほとんどのブラウザーで上書きすることはサポートされていないため、インラインスタイル${data.values}から'!important'を削除します"
  971. }
  972. },
  973. "button-has-visible-text": {
  974. "pass": "要素内にスクリーン・リーダーが認識可能なテキストが存在します",
  975. "fail": "要素内にスクリーン・リーダーが認識可能なテキストが存在しません",
  976. "incomplete": "要素に子ノードがあるか判定できません"
  977. },
  978. "doc-has-title": {
  979. "pass": "ドキュメントに空ではない<title>要素が存在します",
  980. "fail": "ドキュメントに空ではない<title>要素が存在しません"
  981. },
  982. "exists": {
  983. "pass": "要素は存在しません",
  984. "incomplete": "要素が存在します"
  985. },
  986. "has-alt": {
  987. "pass": "要素にalt属性が指定されています",
  988. "fail": "要素にalt属性が指定されていません"
  989. },
  990. "has-visible-text": {
  991. "pass": "要素にスクリーン・リーダーが認識可能なテキストが存在します",
  992. "fail": "要素にスクリーン・リーダーが認識可能なテキストが存在しません",
  993. "incomplete": "要素に子ノードがあるか判定できません"
  994. },
  995. "important-letter-spacing": {
  996. "pass": "style属性中のletter-spacingに'!important'が指定されていない、または最低条件を満たしています",
  997. "fail": "style属性中のletter-spacingには'!important'を指定しない、または${data.minValue}em以上(現在は${data.value}em)にしてください"
  998. },
  999. "important-line-height": {
  1000. "pass": "style属性中のline-heightに'!important'が指定されていない、または最低条件を満たしています",
  1001. "fail": "style属性中のline-heightには'!important'を指定しない、または${data.minValue}em以上(現在は${data.value}em)にしてください"
  1002. },
  1003. "important-word-spacing": {
  1004. "pass": "style属性中のword-spacingに'!important'が指定されていない、または最低条件を満たしています",
  1005. "fail": "style属性中のword-spacingには'!important'を指定しない、または${data.minValue}em以上(現在は${data.value}em)にしてください"
  1006. },
  1007. "is-on-screen": {
  1008. "pass": "要素が表示されていません",
  1009. "fail": "要素が表示されています"
  1010. },
  1011. "non-empty-alt": {
  1012. "pass": "要素に空ではないalt属性が指定されています",
  1013. "fail": {
  1014. "noAttr": "要素にalt属性が指定されていません",
  1015. "emptyAttr": "要素に空のalt属性が指定されています"
  1016. }
  1017. },
  1018. "non-empty-if-present": {
  1019. "pass": {
  1020. "default": "要素にvalue属性が指定されていません",
  1021. "has-label": "要素に空ではないvalue属性が指定されています"
  1022. },
  1023. "fail": "要素にvalue属性が指定されていますが、value属性が空です"
  1024. },
  1025. "non-empty-placeholder": {
  1026. "pass": "要素にplaceholder属性が指定されています",
  1027. "fail": {
  1028. "noAttr": "要素にplaceholder属性が指定されていません",
  1029. "emptyAttr": "要素に空のplaceholder属性が指定されています"
  1030. }
  1031. },
  1032. "non-empty-title": {
  1033. "pass": "要素にtitle属性が指定されています",
  1034. "fail": {
  1035. "noAttr": "要素にtitle属性が指定されていません",
  1036. "emptyAttr": "要素に空のtitle属性が指定されています"
  1037. }
  1038. },
  1039. "non-empty-value": {
  1040. "pass": "要素に空ではないvalue属性が指定されています",
  1041. "fail": {
  1042. "noAttr": "要素にvalue属性が指定されていません",
  1043. "emptyAttr": "要素に空のvalue属性が指定されています"
  1044. }
  1045. },
  1046. "presentational-role": {
  1047. "pass": "要素のデフォルトのセマンティクスはrole=\"${data.role}\"で上書きされました",
  1048. "fail": {
  1049. "default": "要素のデフォルトのセマンティクスはrole=\"none\"またはrole=\"presentation\"で上書きされませんでした",
  1050. "globalAria": "要素にはグローバルなARIA属性が指定されているため、role=\"none\"またはrole=\"presentation\"にはなりません",
  1051. "focusable": "要素がフォーカス可能なため、role=\"none\"またはrole=\"presentation\"にはなりません",
  1052. "both": "要素にはグローバナルARIA属性が指定されており、フォーカス可能なため、role=\"none\"またはrole=\"presentation\"にはなりません",
  1053. "iframe": "プレゼンテーション用のロールを指定した${data.nodeName}要素に'title'属性を使用すると、スクリーンリーダー間で動作が一貫しません"
  1054. }
  1055. },
  1056. "role-none": {
  1057. "pass": "要素のデフォルトのセマンティクスがrole=\"none\"で上書きされました",
  1058. "fail": "要素のデフォルトのセマンティクスはrole=\"none\"で上書きされませんでした"
  1059. },
  1060. "role-presentation": {
  1061. "pass": "要素のデフォルトのセマンティクスがrole=\"presentation\"で上書きされました",
  1062. "fail": "要素のデフォルトのセマンティクスはrole=\"presentation\"で上書きされませんでした"
  1063. },
  1064. "svg-non-empty-title": {
  1065. "pass": "要素にタイトルを示す子要素が存在します",
  1066. "fail": {
  1067. "noTitle": "要素にタイトルを示す子要素が存在しません",
  1068. "emptyTitle": "子要素のtitle要素が空です"
  1069. },
  1070. "incomplete": "要素にタイトルを示す子要素が存在するか判定できません"
  1071. },
  1072. "caption-faked": {
  1073. "pass": "テーブルの1行目がキャプションとして使用されていません",
  1074. "fail": "テーブルの最初の子はテーブルセルではなく、キャプションであるべきです"
  1075. },
  1076. "html5-scope": {
  1077. "pass": "scope属性がテーブルヘッダー要素(<th>)にのみ使用されています",
  1078. "fail": "HTML5では、scope属性はテーブルヘッダー要素(<th>)にのみ使用できます"
  1079. },
  1080. "same-caption-summary": {
  1081. "pass": "summary属性および<caption>のコンテンツは重複していません",
  1082. "fail": "summary属性および<caption>のコンテンツが同一です",
  1083. "incomplete": "<table>にキャプションがあるかどうかを確認できません"
  1084. },
  1085. "scope-value": {
  1086. "pass": "scope属性は正しく使用されています",
  1087. "fail": "scope属性の値は'row'または'col'のみです"
  1088. },
  1089. "td-has-header": {
  1090. "pass": "すべての空ではないデータセルにテーブルヘッダーが存在します",
  1091. "fail": "いくつかの空ではないデータセルにテーブルヘッダーが存在しません"
  1092. },
  1093. "td-headers-attr": {
  1094. "pass": "headers属性はテーブル内の他のセルを参照するためだけに使用されています",
  1095. "incomplete": "headers属性が空です",
  1096. "fail": "headers属性がテーブル内の他のセルを参照するためだけに使用されていません"
  1097. },
  1098. "th-has-data-cells": {
  1099. "pass": "すべてのテーブルヘッダーセルがデータセルを参照しています",
  1100. "fail": "一部のテーブルヘッダーセルがデータセルを参照していません",
  1101. "incomplete": "テーブルデータセルが存在しないまたは空です"
  1102. },
  1103. "hidden-content": {
  1104. "pass": "ページ内のすべてのコンテンツが分析されました",
  1105. "fail": "このページのコンテンツを分析中に問題が発生しました",
  1106. "incomplete": "ページ内に分析されなかった非表示のコンテンツが存在します。分析するには、そのコンテンツを表示させる必要があります"
  1107. }
  1108. },
  1109. "failureSummaries": {
  1110. "any": {
  1111. "failureMessage": "次のいずれかを修正します:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  1112. },
  1113. "none": {
  1114. "failureMessage": "次のすべてを修正します:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  1115. }
  1116. },
  1117. "incompleteFallbackMessage": "axeは原因を特定できませんでした。要素のインスペクターを使いましょう!"
  1118. }