Как отключить ngAria в ngMaterial?

Если пользователь сможет закладок на полученной странице? Еще одна вещь, о которой стоит подумать, - некоторые браузеры / серверы неправильно ограничивают длину URI GET.

Изменить: исправлено ограничение длины символа - спасибо ars!

23
задан Splaktar 24 June 2019 в 04:28
поделиться

3 ответа

Отключение сообщений в глобальном масштабе возможно с 1.1.0:

app.config(function($mdAriaProvider) {
   // Globally disables all ARIA warnings.
   $mdAriaProvider.disableWarnings();
});

(Но обратите внимание на обсуждение в других ответах о том, что метки арии важны для доступности!)

19
ответ дан ZachB 24 June 2019 в 04:28
поделиться

Просто добавьте еще один тег aria-label="WriteHereAnyLabelYouLike" в md-checkbox, и это решит проблему.

<md-checkbox type="checkbox" ng-model="account.accountant" class="md-primary" layout-align="end" ng-true-value="1" ng-false-value="0" aria-label="ShowHideAccountant" ></md-checkbox>

aria-label = "WriteHereAnyLabelYouLike"

6
ответ дан rc.adhikari 24 June 2019 в 04:28
поделиться

Если вы действительно хотите отключить его, вы можете просто перезаписать или, как его называет angular, decorating оригинальный сервис mdAria, который находится внутри библиотеки angular-material.

angular.module('appname').decorator('$mdAria', function mdAriaDecorator($delegate) {
    $delegate.expect = angular.noop;
    $delegate.expectAsync = angular.noop;
    $delegate.expectWithText = angular.noop;
    return $delegate;
});

Это работает в угловом материале v1.0.6, но вам, возможно, придется проверить, что все методы были очищены.

По сути, все вышеперечисленное делает только замену открытых методов, предоставляемых службе $ mdAria, и она заменит эти методы на noop (без операции).

2
ответ дан Shannon Hochkins 24 June 2019 в 04:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: