Browse Source

Use role=alert for all notifications (#17079)

Jaws for Windows (at least up to Jaws 16) does not announce any role=status
messages at all so the user will not hear any tray messages or assistive
messages without this change

Change-Id: Ia110d96b8254b98ed66f0765330865099e729abc
tags/7.6.0.alpha3
Artur Signell 8 years ago
parent
commit
0743bd5b29
2 changed files with 7 additions and 2 deletions
  1. 1
    0
      WebContent/release-notes.html
  2. 6
    2
      shared/src/com/vaadin/shared/ui/ui/UIState.java

+ 1
- 0
WebContent/release-notes.html View File

@@ -113,6 +113,7 @@
<li>Widgetset files and other pre-compressed resources are sent as gzip to compatible browsers.
This may interfere with custom response compression solutions that do not respect the Content-Encoding response header.</li>
<li>Unused methods related to the "out of sync" message have been removed from SystemMessages class.</li>
<li>All notifications use the WAI-ARIA alert role to be compatible with Jaws</li>
</ul>
<h3 id="knownissues">Known Issues and Limitations</h3>
<ul>

+ 6
- 2
shared/src/com/vaadin/shared/ui/ui/UIState.java View File

@@ -43,12 +43,16 @@ public class UIState extends TabIndexState {
notificationConfigurations.put("humanized",
new NotificationTypeConfiguration("Info: ", null,
NotificationRole.ALERT));

// We use alert instead of status for all notifications because
// (at least) Jaws 16 and earlier fail to announce any role=status
// message in Chrome/Firefox
notificationConfigurations.put("tray",
new NotificationTypeConfiguration("Status: ", null,
NotificationRole.STATUS));
NotificationRole.ALERT));
notificationConfigurations.put("assistive",
new NotificationTypeConfiguration("Note: ", null,
NotificationRole.STATUS));
NotificationRole.ALERT));
}
/**
* State related to the Page class.

Loading…
Cancel
Save