15 KiB
dom-accessibility-api changelog
0.5.7
Patch Changes
0.5.6
Patch Changes
-
#666
26ee73dThanks @eps1lon! - Consider<label />when computing the accessible name of<output />Given
<label for="outputid">Output Label</label> <output id="outputid"></output>Previously the accessible name of the
<output />would ignore the<label />. However, an<output />is labelable and therefore the accessible name is now computed using<label />elements if they exists. In this example the accessible name is"Output Label".
0.5.5
Patch Changes
-
#627
0485441Thanks @eps1lon! - Ensure certain babel helpers aren't requiredSource:
-const [item] = list; +const item = list[0];Transpiled:
-var _trim$split = list.trim().split(" "), -_trim$split2 = _slicedToArray(_trim$split, 1), -item = _trim$split2[0] +var item = list[0];
-
#629
383bdb6Thanks @eps1lon! - Use label attribute for naming of<optgroup>elements.Given
<select> <optgroup label="foo"> <option value="1">bar</option> </optgroup> </select>Previously the
<optgroup />would not have an accessible name. Though 2D inaccname1.2 could be interpreted to use thelabelattribute:Otherwise, if the current node's native markup provides an attribute (e.g. title) or element (e.g. HTML label) that defines a text alternative, return that alternative [...]
This was confirmed in NVDA + FireFox.
0.5.4
Patch Changes
-
3866289#442 Thanks @geoffrich! - Correctly determine accessible name when element contains a slot.Previously, computing the accessible name would only examine child nodes. However, content placed in a slot is is an assigned node, not a child node.
If you have a custom element
custom-buttonwith a slot:<button><slot></slot></button> <!-- accname of inner <button> is 'Custom name' (previously '') --> <custom-button>Custom name</custom-button>If you have a custom element
custom-button-defaultwith default content in the slot:<button><slot>Default name</slot></button> <!-- accname of inner <button> is 'Custom name' (previously 'Default name') --> <custom-button-default>Custom name</custom-button-default> <!-- accname of inner <button> is 'Default name' (previously 'Default name') --> <custom-button-default></custom-button-default>This is not currently defined in the accname spec but reflects current browser behavior.
0.5.3
Patch Changes
-
76e8f93#430 Thanks @ckundo! - Maintainimgrole forimgwith missingaltattribute.Previously
<img />would be treated the same as<img alt />.<img />is now treated asrole="img"as specified.
-
96d4438#436 Thanks @eps1lon! - Resolve presentational role conflicts when global WAI-ARIA states or properties (ARIA attributes) are used.<img alt="" />used to have no role. By spec it should haverole="presentation"with no ARIA attributes orrole="img"otherwise.
0.5.2
Patch Changes
-
03273b7#406 Thanks @eps1lon! - Fix various issues for input typessubmit,resetandimagePrefer input
valuewhentypeisresetorsubmit:<input type="submit" value="Submit values"> -// accessible name: "Submit" +// accessible name: "Submit values" <input type="reset" value="Reset form"> -// accessible name: "Reset" +// accessible name: "Reset form"For input
typeimageconsideraltattribute or fall back to"Submit query".
0.5.1
Patch Changes
-
fcc66ae#394 Thanks @marcosvega91! - Ignoretitleattribute if it is empty.Previously
<button title="">Hello, Dave!</button>would wrongly compute an empty name.
0.5.0
Minor Changes
-
9e46c51#380 Thanks @eps1lon! - BREAKING CHANGEIgnore
::beforeand::afterby default.This was necessary to prevent excessive warnings in
jsdom@^16.4.0. If you use this package in a browser that supports the second argument ofwindow.getComputedStyleyou can set thecomputedStyleSupportsPseudoElementsoption to true:computeAccessibleName(element, { computedStyleSupportsPseudoElements: true }); computeAccessibleDescription(element, { computedStyleSupportsPseudoElements: true });If you pass a custom implementation of
getComputedStylethen this option defaults totrue. The following two calls are equivalent:computeAccessibleName(element, { computedStyleSupportsPseudoElements: true }); computeAccessibleName(element, { getComputedStyle: (element, pseudoElement) => { // custom implementation } });
Patch Changes
0.4.7
Patch Changes
-
d6c4455#352 Thanks @eps1lon! - Support native labels in IE 11Also affects Edge < 18 and Firefox < 56.
0.4.6
Patch Changes
-
f7c1981#288 Thanks @eps1lon! - Drop node 13 supportWe only stopped testing. Probability of breakage should be very low.
New policy:
Only active node versions are supported. Inactive node versions can stop working in a SemVer MINOR release.
-
fa53c51#210 Thanks @eps1lon! - Implement accessbile description computationimport { computeAccessibleDescription } from "dom-accessibility-api"; const description = computeAccessibleDescription(element);Warning: It always considers
titleattributes if the description is empty. Even if thetitleattribute was already used for the accessible name. This is fails a web-platform-test. The other failing test is due toaria-labelbeing ignored for the description which is correct by spec. It's likely an issue with wpt. The other tests are passing (13/15).
0.4.5
Patch Changes
-
d668f72#273 Thanks @eps1lon! - fix: Concatenate text nodes without spaceFixes
<h1>Hello {name}!</h1>inreactcomputing"Hello name !"instead ofHello name!.
0.4.4
Patch Changes
-
737dfae#234 Thanks @willamzv! - Consider<legend>for the name of its<fieldset>element.<fieldset> <legend><em>my</em> fieldset</legend> </fieldset>Computing the name for this fieldset would've returned an empty string previously. It now correctly computes
my fieldsetfollowing the accessible name computation forfieldsetelements
-
969da7d#240 Thanks @eps1lon! - Reduce over-transpilationSwitched from
for-ofto.forEachor a basicforlooparray.push(...otherArray)topush.apply(array, otherArray)
This removed a bunch of babel junk that wasn't needed.
-
d578329#248 Thanks @eps1lon! - Consider<caption>for the name of its<table>element.<table> <caption> <em>my</em> table </caption> </table>Computing the name for this table would've returned an empty string previously. It now correctly computes
my tablefollowing the accessible name computation fortableelements
0.4.3
Patch Changes
-
b421d9e#168 Thanks @eps1lon! - fix: Use relative paths in exports fieldFixes a crash when using ES modules in Node.
0.4.2
Minor Changes
0.4.1
Patch Changes
0.4.0
Minor Changes
Patch Changes
0.3.0
Minor Changes
- 7f1ada0: Internal polish
0.2.0
Minor Changes
-
eb86842: Add option to mock window.getComputedStyle
This option has two use cases in mind:
- fake the style and assume everything is visible. This increases performance (window.getComputedStyle) is expensive) by not distinguishing between various levels of visual impairments. If one can't see the name with a screen reader then neither will a sighted user
- Wrap a cache provider around
window.getComputedStyle. We don't implement any because the returnedCSSStyleDeclarationis only live in a browser.jsdomdoes not implement live declarations.