nl_tokens: @ngdoc provider @name $ariaProvider @this
pl_tokens: function $AriaProvider ( ) { var config = { ariaHidden : true , ariaChecked : true , ariaReadonly : true , ariaDisabled : true , ariaRequired : <mask> , ariaInvalid : true , ariaValue : true , tabindex : true , bindKeydown : true , bindRoleForClick : true } ; /**
     * @ngdoc method
     * @name $ariaProvider#config
     *
     * @param {object} config object to enable/disable specific ARIA attributes
     *
     *  - **ariaHidden** – `{boolean}` – Enables/disables aria-hidden tags
     *  - **ariaChecked** – `{boolean}` – Enables/disables aria-checked tags
     *  - **ariaReadonly** – `{boolean}` – Enables/disables aria-readonly tags
     *  - **ariaDisabled** – `{boolean}` – Enables/disables aria-disabled tags
     *  - **ariaRequired** – `{boolean}` – Enables/disables aria-required tags
     *  - **ariaInvalid** – `{boolean}` – Enables/disables aria-invalid tags
     *  - **ariaValue** – `{boolean}` – Enables/disables aria-valuemin, aria-valuemax and
     *    aria-valuenow tags
     *  - **tabindex** – `{boolean}` – Enables/disables tabindex tags
     *  - **bindKeydown** – `{boolean}` – Enables/disables keyboard event binding on non-interactive
     *    elements (such as `div` or `li`) using ng-click, making them more accessible to users of
     *    assistive technologies
     *  - **bindRoleForClick** – `{boolean}` – Adds role=button to non-interactive elements (such as
     *    `div` or `li`) using ng-click, making them more accessible to users of assistive
     *    technologies
     *
     * @description
     * Enables/disables various ARIA attributes
     */ this . config = function ( newConfig ) { config = angular . extend ( config , newConfig ) ; } ; function watchExpr ( attrName , ariaAttr , nodeBlackList , negate ) { return function ( scope , elem , attr ) { if ( attr . hasOwnProperty ( ARIA_DISABLE_ATTR ) ) return ; var ariaCamelName = attr . $normalize ( ariaAttr ) ; if ( config [ ariaCamelName ] && ! isNodeOneOf ( elem , nodeBlackList ) && ! attr [ ariaCamelName ] ) { scope . $watch ( attr [ attrName ] , function ( boolVal ) { // ensure boolean value boolVal = negate ? ! boolVal : ! ! boolVal ; elem . attr ( ariaAttr , boolVal ) ; } ) ; } } ; } /**
     * @ngdoc service
     * @name $aria
     *
     * @description
     * @priority 200
     *
     * The $aria service contains helper methods for applying common
     * [ARIA](http://www.w3.org/TR/wai-aria/) attributes to HTML directives.
     *
     * ngAria injects common accessibility attributes that tell assistive technologies when HTML
     * elements are enabled, selected, hidden, and more. To see how this is performed with ngAria,
     * let's review a code snippet from ngAria itself:
     *
     *```js
     * ngAriaModule.directive('ngDisabled', ['$aria', function($aria) {
     *   return $aria.$$watchExpr('ngDisabled', 'aria-disabled', nodeBlackList, false);
     * }])
     *```
     * Shown above, the ngAria module creates a directive with the same signature as the
     * traditional `ng-disabled` directive. But this ngAria version is dedicated to
     * solely managing accessibility attributes on custom elements. The internal `$aria` service is
     * used to watch the boolean attribute `ngDisabled`. If it has not been explicitly set by the
     * developer, `aria-disabled` is injected as an attribute with its value synchronized to the
     * value in `ngDisabled`.
     *
     * Because ngAria hooks into the `ng-disabled` directive, developers do not have to do
     * anything to enable this feature. The `aria-disabled` attribute is automatically managed
     * simply as a silent side-effect of using `ng-disabled` with the ngAria module.
     *
     * The full list of directives that interface with ngAria:
     * * **ngModel**
     * * **ngChecked**
     * * **ngReadonly**
     * * **ngRequired**
     * * **ngDisabled**
     * * **ngValue**
     * * **ngShow**
     * * **ngHide**
     * * **ngClick**
     * * **ngDblclick**
     * * **ngMessages**
     *
     * Read the {@link guide/accessibility ngAria Developer Guide} for a thorough explanation of each
     * directive.
     *
     *
     * ## Dependencies
     * Requires the {@link ngAria} module to be installed.
     */ this . $get = function ( ) { return { config : function ( key ) { return config [ key ] ; } , $$watchExpr : watchExpr } ; } ; }