You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 9.3KB

1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. # dom-accessibility-api
  2. [![npm version](https://badge.fury.io/js/dom-accessibility-api.svg)](https://badge.fury.io/js/dom-accessibility-api)
  3. [![Build Status](https://dev.azure.com/silbermannsebastian/dom-accessibility-api/_apis/build/status/eps1lon.dom-accessibility-api?branchName=main)](https://dev.azure.com/silbermannsebastian/dom-accessibility-api/_build/latest?definitionId=6&branchName=main)
  4. ![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/silbermannsebastian/dom-accessibility-api/6)
  5. Computes the accessible name or description of a given DOM Element.
  6. https://w3c.github.io/accname/ implemented in JavaScript for testing.
  7. ```bash
  8. $ yarn add dom-accessibility-api
  9. ```
  10. ```js
  11. import {
  12. computeAccessibleName,
  13. computeAccessibleDescription,
  14. } from "dom-accessibility-api";
  15. ```
  16. I'm not an editor of any of the referenced specs (nor very experience with using them) so if you got any insights, something catches
  17. your eye please open an issue.
  18. ## Supported environments
  19. **WARNING**: Only [active node versions](https://nodejs.org/en/about/releases/) are supported.
  20. Inactive node versions can stop working in a SemVer MINOR release.
  21. ```bash
  22. ie 11
  23. edge >= 14
  24. firefox >= 52
  25. chrome >= 49
  26. safari >= 10
  27. node 10.0
  28. ```
  29. or check the published `.browserslistrc`
  30. ## progress
  31. Using https://github.com/web-platform-tests/wpt. Be sure to init submodules when
  32. cloning. See [the test readme](/tests/README.md) for more info about the test setup.
  33. ### browser (Chrome)
  34. 153/159
  35. ### jsdom
  36. <details>
  37. <summary>report 138/159 passing of which 15 are due `::before { content }`, one might be a wrong test, 5 are pathological </summary>
  38. ```bash
  39. web-platform-tests
  40. accname
  41. ✓ [expected fail] description_1.0_combobox-focusable-manual.html
  42. ✓ [expected fail] description_from_content_of_describedby_element-manual.html
  43. ✓ description_link-with-label-manual.html
  44. ✓ description_test_case_557-manual.html
  45. ✓ description_test_case_664-manual.html
  46. ✓ description_test_case_665-manual.html
  47. ✓ description_test_case_666-manual.html
  48. ✓ description_test_case_772-manual.html
  49. ✓ description_test_case_773-manual.html
  50. ✓ description_test_case_774-manual.html
  51. ✓ description_test_case_838-manual.html
  52. ✓ description_test_case_broken_reference-manual.html
  53. ✓ description_test_case_one_valid_reference-manual.html
  54. ✓ description_title-same-element-manual.html
  55. ✓ name_1.0_combobox-focusable-alternative-manual.html
  56. ✓ name_1.0_combobox-focusable-manual.html
  57. ✓ name_checkbox-label-embedded-combobox-manual.html
  58. ✓ name_checkbox-label-embedded-listbox-manual.html
  59. ✓ name_checkbox-label-embedded-menu-manual.html
  60. ✓ name_checkbox-label-embedded-select-manual.html
  61. ✓ name_checkbox-label-embedded-slider-manual.html
  62. ✓ name_checkbox-label-embedded-spinbutton-manual.html
  63. ✓ name_checkbox-label-embedded-textbox-manual.html
  64. ✓ name_checkbox-label-multiple-label-alternative-manual.html
  65. ✓ name_checkbox-label-multiple-label-manual.html
  66. ✓ name_checkbox-title-manual.html
  67. ✓ name_file-label-embedded-combobox-manual.html
  68. ✓ name_file-label-embedded-menu-manual.html
  69. ✓ name_file-label-embedded-select-manual.html
  70. ✓ name_file-label-embedded-slider-manual.html
  71. ✓ name_file-label-embedded-spinbutton-manual.html
  72. ✓ [expected fail] name_file-label-inline-block-elements-manual.html
  73. ✓ [expected fail] name_file-label-inline-block-styles-manual.html
  74. ✓ name_file-label-inline-hidden-elements-manual.html
  75. ✓ name_file-label-owned-combobox-manual.html
  76. ✓ name_file-label-owned-combobox-owned-listbox-manual.html
  77. ✓ name_file-title-manual.html
  78. ✓ name_from_content-manual.html
  79. ✓ name_from_content_of_label-manual.html
  80. ✓ name_from_content_of_labelledby_element-manual.html
  81. ✓ name_from_content_of_labelledby_elements_one_of_which_is_hidden-manual.html
  82. ✓ name_heading-combobox-focusable-alternative-manual.html
  83. ✓ name_image-title-manual.html
  84. ✓ name_link-mixed-content-manual.html
  85. ✓ name_link-with-label-manual.html
  86. ✓ name_password-label-embedded-combobox-manual.html
  87. ✓ name_password-label-embedded-menu-manual.html
  88. ✓ name_password-label-embedded-select-manual.html
  89. ✓ name_password-label-embedded-slider-manual.html
  90. ✓ name_password-label-embedded-spinbutton-manual.html
  91. ✓ name_password-title-manual.html
  92. ✓ name_radio-label-embedded-combobox-manual.html
  93. ✓ name_radio-label-embedded-menu-manual.html
  94. ✓ name_radio-label-embedded-select-manual.html
  95. ✓ name_radio-label-embedded-slider-manual.html
  96. ✓ name_radio-label-embedded-spinbutton-manual.html
  97. ✓ name_radio-title-manual.html
  98. ✓ name_test_case_539-manual.html
  99. ✓ name_test_case_540-manual.html
  100. ✓ name_test_case_541-manual.html
  101. ✓ name_test_case_543-manual.html
  102. ✓ name_test_case_544-manual.html
  103. ✓ name_test_case_545-manual.html
  104. ✓ name_test_case_546-manual.html
  105. ✓ name_test_case_547-manual.html
  106. ✓ name_test_case_548-manual.html
  107. ✓ name_test_case_549-manual.html
  108. ✓ name_test_case_550-manual.html
  109. ✓ name_test_case_551-manual.html
  110. ✓ [expected fail] name_test_case_552-manual.html
  111. ✓ [expected fail] name_test_case_553-manual.html
  112. ✓ name_test_case_556-manual.html
  113. ✓ name_test_case_557-manual.html
  114. ✓ name_test_case_558-manual.html
  115. ✓ name_test_case_559-manual.html
  116. ✓ name_test_case_560-manual.html
  117. ✓ name_test_case_561-manual.html
  118. ✓ name_test_case_562-manual.html
  119. ✓ name_test_case_563-manual.html
  120. ✓ name_test_case_564-manual.html
  121. ✓ name_test_case_565-manual.html
  122. ✓ name_test_case_566-manual.html
  123. ✓ name_test_case_596-manual.html
  124. ✓ name_test_case_597-manual.html
  125. ✓ name_test_case_598-manual.html
  126. ✓ name_test_case_599-manual.html
  127. ✓ name_test_case_600-manual.html
  128. ✓ name_test_case_601-manual.html
  129. ✓ name_test_case_602-manual.html
  130. ✓ name_test_case_603-manual.html
  131. ✓ name_test_case_604-manual.html
  132. ✓ name_test_case_605-manual.html
  133. ✓ name_test_case_606-manual.html
  134. ✓ name_test_case_607-manual.html
  135. ✓ name_test_case_608-manual.html
  136. ✓ name_test_case_609-manual.html
  137. ✓ name_test_case_610-manual.html
  138. ✓ name_test_case_611-manual.html
  139. ✓ name_test_case_612-manual.html
  140. ✓ name_test_case_613-manual.html
  141. ✓ name_test_case_614-manual.html
  142. ✓ name_test_case_615-manual.html
  143. ✓ name_test_case_616-manual.html
  144. ✓ name_test_case_617-manual.html
  145. ✓ name_test_case_618-manual.html
  146. ✓ name_test_case_619-manual.html
  147. ✓ name_test_case_620-manual.html
  148. ✓ name_test_case_621-manual.html
  149. ✓ [expected fail] name_test_case_659-manual.html
  150. ✓ [expected fail] name_test_case_660-manual.html
  151. ✓ [expected fail] name_test_case_661-manual.html
  152. ✓ [expected fail] name_test_case_662-manual.html
  153. ✓ [expected fail] name_test_case_663a-manual.html
  154. ✓ name_test_case_721-manual.html
  155. ✓ name_test_case_723-manual.html
  156. ✓ name_test_case_724-manual.html
  157. ✓ name_test_case_725-manual.html
  158. ✓ name_test_case_726-manual.html
  159. ✓ name_test_case_727-manual.html
  160. ✓ name_test_case_728-manual.html
  161. ✓ name_test_case_729-manual.html
  162. ✓ name_test_case_730-manual.html
  163. ✓ name_test_case_731-manual.html
  164. ✓ name_test_case_733-manual.html
  165. ✓ name_test_case_734-manual.html
  166. ✓ name_test_case_735-manual.html
  167. ✓ name_test_case_736-manual.html
  168. ✓ name_test_case_737-manual.html
  169. ✓ name_test_case_738-manual.html
  170. ✓ name_test_case_739-manual.html
  171. ✓ name_test_case_740-manual.html
  172. ✓ name_test_case_741-manual.html
  173. ✓ name_test_case_742-manual.html
  174. ✓ name_test_case_743-manual.html
  175. ✓ name_test_case_744-manual.html
  176. ✓ name_test_case_745-manual.html
  177. ✓ name_test_case_746-manual.html
  178. ✓ name_test_case_747-manual.html
  179. ✓ name_test_case_748-manual.html
  180. ✓ name_test_case_749-manual.html
  181. ✓ name_test_case_750-manual.html
  182. ✓ name_test_case_751-manual.html
  183. ✓ name_test_case_752-manual.html
  184. ✓ [expected fail] name_test_case_753-manual.html
  185. ✓ [expected fail] name_test_case_754-manual.html
  186. ✓ [expected fail] name_test_case_755-manual.html
  187. ✓ [expected fail] name_test_case_756-manual.html
  188. ✓ [expected fail] name_test_case_757-manual.html
  189. ✓ [expected fail] name_test_case_758-manual.html
  190. ✓ [expected fail] name_test_case_759-manual.html
  191. ✓ [expected fail] name_test_case_760-manual.html
  192. ✓ [expected fail] name_test_case_761-manual.html
  193. ✓ [expected fail] name_test_case_762-manual.html
  194. ✓ name_text-label-embedded-combobox-manual.html
  195. ✓ name_text-label-embedded-menu-manual.html
  196. ✓ name_text-label-embedded-select-manual.html
  197. ✓ name_text-label-embedded-slider-manual.html
  198. ✓ name_text-label-embedded-spinbutton-manual.html
  199. ✓ name_text-title-manual.html
  200. ```
  201. </details>
  202. ## missing
  203. - visibility context (inherited but can reappear; currently reappearing wont't work)