v1.7.23
-
fix/test #1716 Fixing LinkDisabledTestCase on IE 8 (by making it a robot test) (#1716)
divdavem - Fri Oct 14 2016 12:14:10 GMT+0200 (Romance Daylight Time)
Now that aria:Link widgets really have the disabled attribute when they
are disabled, it seems IE 8 raises an error when aria.utils.SynEvent
tries to click on them. This commit fixes this issue by using the robot
implementation of SynEvent (aria.jsunit.SynEvent) instead of
aria.utils.SynEvent. -
Fixed test.aria.utils.domNavigationManager.DomNavigationManagerRobotTestCase for IE 7, 8, 9 (#1715) (#1715)
Yannick Meine - Thu Oct 13 2016 19:07:04 GMT+0200 (Romance Daylight Time)
Was using the method "focus" instead of triggering a user click.
Also improved a bit the test.EnhancedRobotBase class to accept both id or element as input for some functions.
-
feat/test #1714 Excluding failing tests (#1714)
divdavem - Thu Oct 13 2016 12:07:28 GMT+0200 (Romance Daylight Time)
This commit creates a list of failing tests (for each browser), which will
be excluded during the release campaign until they are individually
investigated and fixed. -
Fixed test.aria.widgets.wai.popup.dialog.titleTag.DialogTitleTagJawsTestCase (#1710)
Yannick Meine - Tue Oct 11 2016 15:07:54 GMT+0200 (Romance Daylight Time)
The dialog did not use properly the new utility to hide other elements: it was using wrong reference elements.
Also improved the aria.utils.DomNavigationManager by not touching elements whose hidden state is managed by other entities (i.e. which have a aria-hidden without a registered request counter).
-
Fixed aria.utils.DomNavigationManager for IE 7, 8, 9 (#1709)
Yannick Meine - Tue Oct 11 2016 15:06:20 GMT+0200 (Romance Daylight Time)
Because of various API or syntax incompatibilities.
-
fix/test #1712 Improving reliability of DataModelOnChangeRobotTestCase (#1712)
divdavem - Tue Oct 11 2016 14:36:20 GMT+0200 (Romance Daylight Time)
This commit improves the reliability of DataModelOnChangeRobotTestCase by
waiting for the focus and adding a pause after typing.
This fixes the test on Safari with robot-server. -
fix/test #1711 Slowing down BindableRobotTestCase to make it more reliable (#1711)
divdavem - Tue Oct 11 2016 14:08:08 GMT+0200 (Romance Daylight Time)
Depending on how fast the robot implementation is,
test.aria.html.textarea.bind.BindableRobotTestCase and
test.aria.html.textinput.bind.BindableRobotTestCase could fail in case the
keys are typed quicker than the delay we use to simulate the type event.
This commit adds some pause between each character so that the corresponding
type events do not combine several letters together.
Especially, this commit fixes both tests with the robot-server on Safari. -
fix/test #1708 Using Firefox instead of PhantomJS to run TooltipRobotTestCase on travis-ci (#1708)
divdavem - Mon Oct 10 2016 15:48:45 GMT+0200 (Romance Daylight Time)
Using Firefox instead of PhantomJS to run TooltipRobotTestCase on travis-ci
as TooltipRobotTestCase often fails on PhantomJS (for an unknown reason). -
fix/test #1707 test.aria.core.CSSPrefixTestCase (#1707)
divdavem - Mon Oct 10 2016 15:24:52 GMT+0200 (Romance Daylight Time)
This commit fixes CSSPrefixTestCase on Firefox 49 by changing the order
in which prefixes are tested. Moz is now tested before Webkit, so that,
on Firefox, Moz is chosen rather than Webkit (now that both seem to be
supported on Firefox). -
fix/test #1704 Disabling ViewportHugeShrinkTestCase (#1704)
divdavem - Mon Oct 10 2016 14:54:56 GMT+0200 (Romance Daylight Time)
test.aria.widgets.container.dialog.viewportResize.ViewportHugeShrinkTestCase
was present in the repository without being part of a test suite, and has
not been run during the release test campaign for a long time.
It fails in all browsers except PhantomJS, but PhantomJS is known not to
properly handle the size of the viewport (and this test is related to it).More investigation should be done on this test to either fix it or remove
it. -
Removing alert when logging after aria.core.Log is disposed (#1703)
divdavem - Fri Oct 07 2016 10:28:39 GMT+0200 (Romance Daylight Time)
When aria.core.Log is disposed, the previous code was replacing the error
logging function by a function which displayed the error using alert.
The alert could sometimes be triggered during the tests in IE 7 and
blocked the following tests. This commit replaces it with logs on the
console. -
Moved aria.popup.PopupNavigationManager to aria.utils.DomNavigationManager (#1698)
ymeine - Fri Oct 07 2016 10:16:59 GMT+0200 (Romance Daylight Time)
-
Improved the PopupNavigationManager & added a aria-hidden manager (#1698)
ymeine - Fri Oct 07 2016 10:16:58 GMT+0200 (Romance Daylight Time)
Also:
- added a utility function to add click steps in JAWS tests
- added aria-hidden attributes on elements of the test runner 'test/test.htm', for safety and consistency
- fixed the implementation and the tests of aria.utils.Array.reduce
-
fix/test #1702 Reducing the number of phantomjs instances on travis (#1702)
divdavem - Fri Oct 07 2016 09:51:00 GMT+0200 (Romance Daylight Time)
This increases the stability of the travis build.
-
feat/test #1701 Updating attester (2.5.3) (#1701)
divdavem - Thu Oct 06 2016 17:58:19 GMT+0200 (Romance Daylight Time)
-
Cleaned a bit the code and mostly the tests, in order to use the new utilities (#1696)
ymeine - Thu Oct 06 2016 13:09:22 GMT+0200 (Romance Daylight Time)
-
Updating ua-parser-js (#1700)
divdavem - Thu Oct 06 2016 10:06:23 GMT+0200 (Romance Daylight Time)
This commit switches to the upstream version of ua-parser-js,
as it is no longer useful to rely on our fork of ua-parser-js, now
that our changes have been integrated: -
feat/test #1699 Updating attester (2.5.2) (#1699)
divdavem - Wed Oct 05 2016 16:27:26 GMT+0200 (Romance Daylight Time)
-
Added a set of generic utilities (#1695)
ymeine - Tue Oct 04 2016 10:48:10 GMT+0200 (Romance Daylight Time)
aria.jsunit.TestCase- aliased
notifyTestEndasend
- aliased
aria.utils.Algotimes: executes the given callbacks the specified number of times, returned the aggregated result
- aria.utils.String
substitute(changed): now accepts a variable number of arguments for substitutions, with any mix of string and arrayswrap: wraps (prefix and suffix) the given string with another given string
aria.utils.ArrayensureWrap: ensures to return an array from the given value: empty one as default, array with the one given element or the already given arrayrepeatValue: repeats the given value the given number of times to make an arrayrepeatArray: repeats the values of the given array the given number of times, to make an array of the same level of nesting (repeatValueonly would gives an array of arrays)map: applies a transformation function on each item of the given array and returns the array of resultsreduce: applies a reducer function on each item of the array, in order to aggregate a resultflatten: flattens the given array on one levelflattenDeep: deeply flattens the given array, to have only one single top-level arraypushAll: concatenates inplace the given array into the given destination arrayinsert: inserts inplace the given item at the given index into the given array. Indexing is flexible: can make the array grow, can be indexed with negative numbers
aria.utils.ObjectforOwnKeys: iterates over the own keys of an object and calls the given callback function with each of themassign: assign all own properties of given sources into the given destination objectdefaults: assign all own properties of given sources into the given destination object only if they don't already exist (are notnullorundefined) inside the resulting destination object
aria.utils.Functioncall: calls as is (without specific thisArg nor arguments) the given function (useful for simple functional programming)
aria.utils.async.Debouncer: delays the execution of a function as long as it (its wrapper actually) is called
-
fix/test #1697 test.aria.templates.customization.CustomTemplateTestCase (#1697)
divdavem - Mon Oct 03 2016 15:01:58 GMT+0200 (Romance Daylight Time)
This commit fixes a random issue happening at the end of CustomTemplateTestCase:
restoring the environment at the end of the test triggers an XHR which
can cause issues on the following tests in the test campaign. -
Using mouseenter/mouseleave instead of mouseover/mouseout in widgets (#1694)
divdavem - Fri Sep 30 2016 09:59:45 GMT+0200 (Romance Daylight Time)
This commit adds support for mouseenter/mouseleave events in aria widgets
(by simulating those events in all browsers from the mouseover/mouseout
events).
This fixes an issue which prevented the button from working on some
browsers (including Chrome) when clicking right at the top of the <span>
element (inside the larger <button> element) because that element moves
down when clicking, leading to a mouseout event on the span but there is
no mouseleave event on the larger <button> element. -
Removing aria:parent properties when they are no longer useful (#1693)
divdavem - Thu Sep 29 2016 11:20:50 GMT+0200 (Romance Daylight Time)
This commit adds some checks to remove aria:parent properties on an object
when that object no longer has any recursive listener and no longer has
any parent in aria:parent.
This fixes some memory leaks which can occur in case some parts of the
data model are reused inside new containers and old containers are no
longer used but still pointing to the reused parts of the data model (so
the aria:parent properties on the reused parts of the data model still
pointed to the old objects, even though there was no recursive listener
any more in that old part of the data model). -
isSafari, isIE and isOpera were not true on the mobile versions (#1692)
divdavem - Tue Sep 27 2016 10:47:52 GMT+0200 (Romance Daylight Time)
The following properties of aria.core.Browser were true only on the desktop
version of the corresponding browsers:- isSafari
- isIE
- isOpera
They are now true both on the desktop and mobile versions.
-
Added Array.prototype.every to aria.utils.Array (#1686)
tjw02 - Mon Sep 26 2016 15:09:23 GMT+0200 (Romance Daylight Time)
According test added as well.
-
Removing arbitrary limit of +/-365 in the date parser (#1691)
divdavem - Mon Sep 26 2016 10:32:24 GMT+0200 (Romance Daylight Time)
Before this commit:
aria.utils.Date.interpret("-365"); // returns today - 365 days
aria.utils.Date.interpret("+365"); // returns today + 365 days
aria.utils.Date.interpret("-366"); // returns null
aria.utils.Date.interpret("+366"); // returns null
aria.utils.Date.interpret("1SEP2016/-365"); // returns Wed Sep 02 2015
aria.utils.Date.interpret("1SEP2016/+365"); // returns Fri Sep 01 2017
aria.utils.Date.interpret("1SEP2016/-366"); // returns null
aria.utils.Date.interpret("1SEP2016/+366"); // returns nullAfter this commit:
aria.utils.Date.interpret("-365"); // still returns today - 365 days
aria.utils.Date.interpret("+365"); // still returns today + 365 days
aria.utils.Date.interpret("-366"); // now returns today - 366 days
aria.utils.Date.interpret("+366"); // now returns today + 366 days
aria.utils.Date.interpret("1SEP2016/-365"); // still returns Wed Sep 02 2015
aria.utils.Date.interpret("1SEP2016/+365"); // still returns Fri Sep 01 2017
aria.utils.Date.interpret("1SEP2016/-366"); // now returns Tue Sep 01 2015
aria.utils.Date.interpret("1SEP2016/+366"); // now returns Sat Sep 02 2017The arbitrary limit of +/- 365 is now removed.
It is possible to add or remove any number of days to the reference date.
The new limit is the date range supported by the javascript Date object. -
Some widgets were not autoselected when using the tab key (#1690) (#1690)
Basso - Fri Sep 23 2016 09:13:36 GMT+0200 (Romance Daylight Time)
-
Adding waiHasPopup on widgets extending ActionWidget (#1689)
divdavem - Tue Sep 20 2016 17:36:26 GMT+0200 (Romance Daylight Time)
This commit adds the waiHasPopup property on all widgets which extend
ActionWidget (aria:Button, aria:Link, ...). -
fix/test #1681 Removing test suites (#1681)
divdavem - Mon Sep 19 2016 11:27:25 GMT+0200 (Romance Daylight Time)
This commit removes all test suites from the test directory (as they are
not needed anymore). -
fix/test #1681 Using patterns instead of test suites to specify tests to execute (#1681)
divdavem - Mon Sep 19 2016 11:27:25 GMT+0200 (Romance Daylight Time)
This commit changes test campaigns to use patterns instead of test suites,
in order to remove the need to maintain a list of tests manually. -
fix/test #1688 IOXDRTestCase no longer uses pipes.yahooapis.com to test XDR (#1688)
divdavem - Mon Sep 19 2016 10:41:37 GMT+0200 (Romance Daylight Time)
We now use echo.ariatemplates.com, as pipes.yahooapis.com is no longer
available. -
fix/test #1685 Updating Jaws tests after adding a default value for aria-labelledby (#1685) (#1685)
divdavem - Fri Sep 16 2016 10:01:19 GMT+0200 (Romance Daylight Time)
After commit 24960cb, the following tests
failed because the corresponding radio buttons now have a label (which was
not expected in Jaws history):- test.aria.widgets.wai.fieldset.FieldsetLabelJawsTestCase
- test.aria.widgets.wai.input.radiobutton.RadioButtonGroupJawsTestCase
This commit updates the expected history in those tests.
-
fix/test #1684 Improving stability of CheckboxJawsTestCase (#1684)
divdavem - Thu Sep 15 2016 17:16:15 GMT+0200 (Romance Daylight Time)
test.aria.widgets.wai.input.checkbox.CheckboxJawsTestCase sometimes failed
because Jaws sometimes breaks "Checkbox B check box not checked" into two
lines in Jaws history (the new line being inserted before "check box"). -
Adding a default value for aria-labelledby for input widgets. (#1683) (#1683)
divdavem - Thu Sep 15 2016 10:50:36 GMT+0200 (Romance Daylight Time)
If there is no waiLabel or waiLabelledBy property and the widget
(which extends aria.widgets.form.Input) has a label, the id of
that label is used for the waiLabelledBy property. -
new readOnlyTextField property on the aria:MultiSelect widget (#1682)
divdavem - Wed Sep 14 2016 17:18:11 GMT+0200 (Romance Daylight Time)
This commit adds the readOnlyTextField property to the multiselect.
If true, the user can only modify the value of the widget by opening
the popup (the text field is not modifiable). -
fix/test #1680 Checking new test naming conventions automatically (#1680)
divdavem - Mon Sep 12 2016 11:58:47 GMT+0200 (Romance Daylight Time)
This commit adds a grunt task which automatically check new test naming
conventions and fails the build in case they are not respected. -
fix/test #1680 Creating specific child test classes to avoid using base test classes as tests
divdavem - Mon Sep 12 2016 11:58:46 GMT+0200 (Romance Daylight Time)
With the new naming convention, classes which end with the Base suffix
should not be run directly as tests. This commit creates corresponding
child classes for all Base test classes which were previously used as
tests. -
fix/test #1680 Updating the content of test files after renaming them
divdavem - Mon Sep 12 2016 10:21:03 GMT+0200 (Romance Daylight Time)
This commit was generated automatically. It updates references in test files
after the previous commit which renamed some test files to follow the new
naming convention. -
fix/test #1680 Renaming test files to follow the naming convention.
divdavem - Mon Sep 12 2016 10:20:29 GMT+0200 (Romance Daylight Time)
This commit was generated automatically and contains only file renames,
without updating any content (which is done in the next commit). -
fix/test #1680 Manually updating some test classpaths which cannot be changed automatically
divdavem - Mon Sep 12 2016 10:09:30 GMT+0200 (Romance Daylight Time)
Some test classpaths are built dynamically in the code.
This commit updates those parts to follow the new tests naming convention. -
fix/test #1680 Fixing some test files to make them compatible with at-diff
divdavem - Mon Sep 12 2016 10:09:29 GMT+0200 (Romance Daylight Time)
at-diff requires each file to only contain one Aria definition and to have it
exported on module.exports. Other definitions were modified to make them
undetectable by at-diff. -
fix/test #1680 Changing test suites to contain the full classpaths of tests
divdavem - Fri Sep 09 2016 17:24:18 GMT+0200 (Romance Daylight Time)
This makes sure automatic renames in later commits correctly update those test suites.
-
fix/test #1680 Updating the case of one test file to match its classpath
divdavem - Fri Sep 09 2016 17:10:25 GMT+0200 (Romance Daylight Time)
-
Improved utilities for Jaws tests (EnhancedJawsTestCase), and simplified the tests using it. (#1679)
ymeine - Fri Sep 09 2016 10:39:36 GMT+0200 (Romance Daylight Time)
-
Renamed test classes to match conventions, and added missing tests to the Jaws test suite. (#1679)
ymeine - Fri Sep 09 2016 10:39:17 GMT+0200 (Romance Daylight Time)
-
Basso - Fri Sep 09 2016 09:54:45 GMT+0200 (Romance Daylight Time)
test.aria.widgets.form.select.valueAndOptionsBinding.SelectTemplateTestCase
missing in test suite -
WAI-ARIA - DatePicker - Reading the input date when valid (#1677)
ymeine - Thu Sep 08 2016 16:46:01 GMT+0200 (Romance Daylight Time)
Now when the user inputs a date, be it from the calendar or when typing in, if the date is valid it is read by the screen reader following a provided format: waiAriaConfirmDateFormat (which defaults to waiAriaDateFormat or a long date format).
When the user types the text in, a debouncing algorithm is applied, which is controlled by a delay waiAriaConfirmDateDelay, defaulting to 50 ms.
References:
- AT-1509
-
Implement the "disabled" attribute for the Link widget (#1675)
ymeine - Thu Sep 08 2016 15:56:25 GMT+0200 (Romance Daylight Time)
Also made the following change to all "ActionWidget" based widgets: now the "aria-disabled" attribute is not set anymore in WAI-ARIA mode, "disabled" must be sufficient.
References:
- AT-1398
- PTR 11630074
-
missing coma that magically passed the CI
Benoit Charbonnier - Thu Sep 08 2016 10:38:56 GMT+0200 (Romance Daylight Time)
-
Properly adding/removing disabled attribute on button widget (#1662)
Benoit Charbonnier - Thu Sep 08 2016 10:03:43 GMT+0200 (Romance Daylight Time)
This commit properly manage the
disabledattribute on the generated markup for the button widget. Depending on the state we accordingly set it or completely remove it. -
fix/test #1673 test.aria.widgets.wai.errorlist.binding.ErrorListBindingJawsTestCase had wrong expected history (#1673)
ymeine - Wed Sep 07 2016 16:41:59 GMT+0200 (Romance Daylight Time)
The expected history was not correct.
-
fix/test #1672 test.aria.widgets.wai.tabs.TabsJawsTest to match the latest behavior changes (#1672)
ymeine - Wed Sep 07 2016 16:41:44 GMT+0200 (Romance Daylight Time)
The test has been updated to match the new behavior of the two widgets Tab and TabPanel.
References:
- AT-1468
-
feat/test #1671 Improved the test output for the default JSUnit TestRunner (#1671)
ymeine - Wed Sep 07 2016 16:34:11 GMT+0200 (Romance Daylight Time)
Now line returns are properly displayed, and the errors descriptions are escaped for safety.
-
Configurable default values for any widget property of the Aria library (#1676)
divdavem - Tue Sep 06 2016 14:52:20 GMT+0200 (Romance Daylight Time)
This commit adds the widgetDefaults parameter in the environment, allowing
to specify a default value for any property of any widget in the Aria
widget library.For example, to set the calendarNumberOfUnits property for all instances
of the @aria:DatePicker widget (if those instances do not specify any
value for this property):aria.core.AppEnvironment.setEnvironment({ widgetDefaults: { DatePicker: { calendarNumberOfUnits: 5 } } });
-
aria-activedescendant initially not set for the autocomplete widget (#1674)
divdavem - Wed Aug 31 2016 10:36:57 GMT+0200 (Romance Daylight Time)
When using the aria:AutoComplete component with waiAria = true, the
aria-activedescendant attribute was not set until the user navigates the
suggestions with up/down arrow keys.This was an issue when a suggestion is preselected while the user types
(which can happen, for example, if the preselect property is set to "always") -
Factorizing filters for Jaws test cases (#1670)
divdavem - Wed Aug 24 2016 17:32:04 GMT+0200 (Romance Daylight Time)
This commit refactors the way filters for Jaws history are applied in
Jaws test cases:- retrieveJawsHistory no longer does any filtering, it returns the raw
Jaws history - assertJawsHistoryEquals now first executes filterJawsHistory before any
provided filter function - filterJawsHistory executes by default the 3 following common filters on
all tests:- normalizeSpaces (can be disabled with this.skipNormalizeSpaces = true)
- removeNoise (can be disabled with this.skipRemoveNoise = true)
- removeDuplicates (can be disabled with this.skipRemoveDuplicates = true)
- removeNoise can be configured by changing the array of regular expressions
stored in this.noiseRegExps
- retrieveJawsHistory no longer does any filtering, it returns the raw
-
fix/test Fixing a regression introduced in the previous commit (#1668)
divdavem - Tue Aug 23 2016 18:09:28 GMT+0200 (Romance Daylight Time)
The previous commit introduced the following regression in "npm run attest":
the exit code is 0 even if the tests fail. -
fix/test Adding support for SIGINT for "npm run attest" (#1668)
divdavem - Tue Aug 23 2016 17:19:21 GMT+0200 (Romance Daylight Time)
This commit allows to use CTRL-C when running the "npm run attest" command,
in order to interrupt it properly (including on Windows). -
Improving the readability of Jaws test case failures. (#1667)
divdavem - Tue Aug 23 2016 12:38:59 GMT+0200 (Romance Daylight Time)
This commit adds some line breaks in the error message of Jaws test cases
so that it is easier to compare the actual Jaws history with the expected
one. -
# WAI-ARIA - ActionWidget - Implementation of labels, description and disabled (#1666)
ymeine - Mon Aug 22 2016 18:17:09 GMT+0200 (Romance Daylight Time)
The impacted widgets are the following:
- ActionWidget
- Button, including the simple button where the element is now a "button" instead of an "input"
- IconButton
- Link
- SortIndicator
- Button, including the simple button where the element is now a "button" instead of an "input"
Implemented attributes are (on the left the WAI-ARIA attribute name, on the right the widget's property changing its value):
- aria-label: waiLabel
- aria-labelledby: waiLabelledBy
- aria-describedby: waiDescribedBy
- aria-disabled: disabled
References:
- AT-1476
- AT-1517
- PTR 11805347
- ActionWidget
-
# WAI-ARIA - Tab & TabPanel - Specifications update (#1665)
ymeine - Mon Aug 22 2016 17:07:11 GMT+0200 (Romance Daylight Time)
Tab:
- tabs are now "a" elements, and all the accessibility attributes, as well as the tabindex for focusing, are put on this element
- ability to add a wrapper element around the "a", with a custom tag
- support for: aria-hidden, aria-label, aria-labelledby, aria-describedby
TabPanel:
- now the tabIndex defaults to -1
Global behavior:
- when a Tab is selected, the first element of its associated TabPanel is focused
Glitches:
- when clicking on a Tab to select it, since the focus is set to the TabPanel the Tab title is not read
References:
- AT-1468
-
inconsistencies between addListener and removeListener for 'mousewheel' event (in aria.utils.Event) (#1664)
vcarle - Thu Aug 18 2016 16:19:46 GMT+0200 (Romance Daylight Time)
The following inconsistencies are now fixed:
- in Chrome, the event was changed to 'DOMMouseScroll' in removeListener but not in addListener
- in IE 11, the target element was changed from the window to the document in addListener but not in removeListener
-
keyboard navigation issues with the multiselect (#1663) (#1663)
Basso - Thu Aug 18 2016 12:43:36 GMT+0200 (Romance Daylight Time)
-
Jaws reads "not checked unavailable" when the checkbox is checked (and disabled) (#1655)
divdavem - Thu Aug 11 2016 12:15:43 GMT+0200 (Romance Daylight Time)
This commit implements a work-around for the following bug in IE 11 / Jaws 16:
in some cases a disabled checked checkbox is read as "not checked unavailable"
instead of "checked unavailable". It seems to happen when aria attributes
(such as aria-disabled or aria-labelledby) are used on the input.