vendor/assets/javascripts/angular-aria.js in rails-angularjs-1.4.1 vs vendor/assets/javascripts/angular-aria.js in rails-angularjs-1.4.2

- old
+ new

@@ -1,7 +1,7 @@ /** - * @license AngularJS v1.4.1 + * @license AngularJS v1.4.2 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ (function(window, angular, undefined) {'use strict'; @@ -86,11 +86,12 @@ ariaRequired: true, ariaInvalid: true, ariaMultiline: true, ariaValue: true, tabindex: true, - bindKeypress: true + bindKeypress: true, + bindRoleForClick: true }; /** * @ngdoc method * @name $ariaProvider#config @@ -105,10 +106,12 @@ * - **ariaMultiline** – `{boolean}` – Enables/disables aria-multiline tags * - **ariaValue** – `{boolean}` – Enables/disables aria-valuemin, aria-valuemax and aria-valuenow tags * - **tabindex** – `{boolean}` – Enables/disables tabindex tags * - **bindKeypress** – `{boolean}` – Enables/disables keypress event binding on `<div>` and * `<li>` elements with ng-click + * - **bindRoleForClick** – `{boolean}` – Adds role=button to non-interactive elements like `div` + * using ng-click, making them more accessible to users of assistive technologies * * @description * Enables/disables various ARIA attributes */ this.config = function(newConfig) { @@ -349,10 +352,13 @@ function isNodeOneOf(elem, nodeTypeArray) { if (nodeTypeArray.indexOf(elem[0].nodeName) !== -1) { return true; } } - if (!elem.attr('role') && !isNodeOneOf(elem, nodeBlackList)) { + + if ($aria.config('bindRoleForClick') + && !elem.attr('role') + && !isNodeOneOf(elem, nodeBlackList)) { elem.attr('role', 'button'); } if ($aria.config('tabindex') && !elem.attr('tabindex')) { elem.attr('tabindex', 0);