aria-attrs.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. // Source: https://www.w3.org/TR/wai-aria-1.1/#states_and_properties
  2. const ariaAttrs = {
  3. 'aria-activedescendant': {
  4. type: 'idref',
  5. allowEmpty: true
  6. },
  7. 'aria-atomic': {
  8. type: 'boolean',
  9. global: true
  10. },
  11. 'aria-autocomplete': {
  12. type: 'nmtoken',
  13. values: ['inline', 'list', 'both', 'none']
  14. },
  15. 'aria-busy': {
  16. type: 'boolean',
  17. global: true
  18. },
  19. 'aria-checked': {
  20. type: 'nmtoken',
  21. values: ['false', 'mixed', 'true', 'undefined']
  22. },
  23. 'aria-colcount': {
  24. type: 'int',
  25. minValue: -1
  26. },
  27. 'aria-colindex': {
  28. type: 'int',
  29. minValue: 1
  30. },
  31. 'aria-colspan': {
  32. type: 'int',
  33. minValue: 1
  34. },
  35. 'aria-controls': {
  36. type: 'idrefs',
  37. allowEmpty: true,
  38. global: true
  39. },
  40. 'aria-current': {
  41. type: 'nmtoken',
  42. allowEmpty: true,
  43. values: ['page', 'step', 'location', 'date', 'time', 'true', 'false'],
  44. global: true
  45. },
  46. 'aria-describedby': {
  47. type: 'idrefs',
  48. allowEmpty: true,
  49. global: true
  50. },
  51. 'aria-details': {
  52. type: 'idref',
  53. allowEmpty: true,
  54. global: true
  55. },
  56. 'aria-disabled': {
  57. type: 'boolean',
  58. global: true
  59. },
  60. 'aria-dropeffect': {
  61. type: 'nmtokens',
  62. values: ['copy', 'execute', 'link', 'move', 'none', 'popup'],
  63. global: true
  64. },
  65. 'aria-errormessage': {
  66. type: 'idref',
  67. allowEmpty: true,
  68. global: true
  69. },
  70. 'aria-expanded': {
  71. type: 'nmtoken',
  72. values: ['true', 'false', 'undefined']
  73. },
  74. 'aria-flowto': {
  75. type: 'idrefs',
  76. allowEmpty: true,
  77. global: true
  78. },
  79. 'aria-grabbed': {
  80. type: 'nmtoken',
  81. values: ['true', 'false', 'undefined'],
  82. global: true
  83. },
  84. 'aria-haspopup': {
  85. type: 'nmtoken',
  86. allowEmpty: true,
  87. values: ['true', 'false', 'menu', 'listbox', 'tree', 'grid', 'dialog'],
  88. global: true
  89. },
  90. 'aria-hidden': {
  91. type: 'nmtoken',
  92. values: ['true', 'false', 'undefined'],
  93. global: true
  94. },
  95. 'aria-invalid': {
  96. type: 'nmtoken',
  97. allowEmpty: true,
  98. values: ['grammar', 'false', 'spelling', 'true'],
  99. global: true
  100. },
  101. 'aria-keyshortcuts': {
  102. type: 'string',
  103. allowEmpty: true,
  104. global: true
  105. },
  106. 'aria-label': {
  107. type: 'string',
  108. allowEmpty: true,
  109. global: true
  110. },
  111. 'aria-labelledby': {
  112. type: 'idrefs',
  113. allowEmpty: true,
  114. global: true
  115. },
  116. 'aria-level': {
  117. type: 'int',
  118. minValue: 1
  119. },
  120. 'aria-live': {
  121. type: 'nmtoken',
  122. values: ['assertive', 'off', 'polite'],
  123. global: true
  124. },
  125. 'aria-modal': {
  126. type: 'boolean'
  127. },
  128. 'aria-multiline': {
  129. type: 'boolean'
  130. },
  131. 'aria-multiselectable': {
  132. type: 'boolean'
  133. },
  134. 'aria-orientation': {
  135. type: 'nmtoken',
  136. values: ['horizontal', 'undefined', 'vertical']
  137. },
  138. 'aria-owns': {
  139. type: 'idrefs',
  140. allowEmpty: true,
  141. global: true
  142. },
  143. 'aria-placeholder': {
  144. type: 'string',
  145. allowEmpty: true
  146. },
  147. 'aria-posinset': {
  148. type: 'int',
  149. minValue: 1
  150. },
  151. 'aria-pressed': {
  152. type: 'nmtoken',
  153. values: ['false', 'mixed', 'true', 'undefined']
  154. },
  155. 'aria-readonly': {
  156. type: 'boolean'
  157. },
  158. 'aria-relevant': {
  159. type: 'nmtokens',
  160. values: ['additions', 'all', 'removals', 'text'],
  161. global: true
  162. },
  163. 'aria-required': {
  164. type: 'boolean'
  165. },
  166. 'aria-roledescription': {
  167. type: 'string',
  168. allowEmpty: true,
  169. global: true
  170. },
  171. 'aria-rowcount': {
  172. type: 'int',
  173. minValue: -1
  174. },
  175. 'aria-rowindex': {
  176. type: 'int',
  177. minValue: 1
  178. },
  179. 'aria-rowspan': {
  180. type: 'int',
  181. minValue: 0
  182. },
  183. 'aria-selected': {
  184. type: 'nmtoken',
  185. values: ['false', 'true', 'undefined']
  186. },
  187. 'aria-setsize': {
  188. type: 'int',
  189. minValue: -1
  190. },
  191. 'aria-sort': {
  192. type: 'nmtoken',
  193. values: ['ascending', 'descending', 'none', 'other']
  194. },
  195. 'aria-valuemax': {
  196. type: 'decimal'
  197. },
  198. 'aria-valuemin': {
  199. type: 'decimal'
  200. },
  201. 'aria-valuenow': {
  202. type: 'decimal'
  203. },
  204. 'aria-valuetext': {
  205. type: 'string'
  206. }
  207. };
  208. export default ariaAttrs;