Для вашего первого вопроса, это довольно распространенное поведение, хотя и не универсальное, когда регионы aria-live не читаются снова, если в строке добавляется / устанавливается дважды один и тот же текст, независимо от использования aria-live = polite или ария-живая = напористая.
Иногда возможно обмануть это поведение, очистив и затем сбросив текст обратно, но это не всегда работает.
Во всем мире это то, против чего вы не можете пойти. Новый текст всегда гарантированно читается, только если он отличается от текущего текста.
Ария не может здесь помочь. Он просто говорит, нужно ли произносить дополнения и / или удаления, но нет, если два идеальных дополнения / сброса нужно произносить один или два раза.
Для вашего второго вопроса вы можете использовать относящиеся к арии, чтобы уведомления об удалении также были уведомлены. Однако это не лучшее решение.
Прежде всего потому, что релевантный aria не всегда хорошо поддерживается определенными комбинациями браузера и программы чтения с экрана.
Но что еще более важно, потому что у вас есть гораздо более надежное и более одобренное пользователем решение для этого конкретного случая.
В случае, если вы знаете, когда в поле больше нет ошибок, используйте aria-invalid . Устанавливайте его, когда поле становится недействительным, оставляйте его установленным до тех пор, пока поле заполнено неправильно, и в идеале удалите атрибут, как только ввод снова станет правильным.
Многие программы чтения с экрана немедленно сообщают об изменении между действительным и недействительным или, в худшем случае, о недействительности объявляются каждый раз, когда поле фокусируется.
Единственное, с чем вам следует быть осторожным при использовании aria-invalid, следует избегать установки поля в качестве недействительного, если пользователь еще ничего не вводил или просто просматривал его, не изменяя начальное значение.
То же самое предостережение, что вам следует избегать помещения поля красным цветом непосредственно при загрузке страницы.
Добавлена точность: aria-invalid позволяет только сказать, что поле недопустимо, но не позволяет установить сообщение. Для этого вы можете продолжать использовать отдельный регион арии, или вы можете использовать aria-описанный. Преимущество описанного aria заключается в том, что сообщение может повторяться по требованию, но оно может применяться только к конкретному полю (не используйте для ошибок, касающихся всей формы в целом, или для ошибок, которые подразумевают одновременное использование нескольких полей).