From 4a58876ee5bd0f599db343bf40ffef06c2e5eaba Mon Sep 17 00:00:00 2001 From: Olli Tietäväinen Date: Tue, 9 Jan 2018 15:36:55 +0200 Subject: Add aria-modal attribute and role='dialog' for modal Window (#10447) Fixes #10424 --- client/src/main/java/com/vaadin/client/ui/VWindow.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/ui/VWindow.java b/client/src/main/java/com/vaadin/client/ui/VWindow.java index 02d3ce63cd..a07a08ef99 100644 --- a/client/src/main/java/com/vaadin/client/ui/VWindow.java +++ b/client/src/main/java/com/vaadin/client/ui/VWindow.java @@ -444,7 +444,7 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, && nativeEvent.getKeyCode() == KeyCodes.KEY_TAB && nativeEvent.getShiftKey()) { nativeEvent.preventDefault(); - FocusUtil.focusOnLastFocusableElement(this.getElement()); + FocusUtil.focusOnLastFocusableElement(getElement()); } if (nativeEvent.getEventTarget().cast() == topTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_BACKSPACE) { @@ -461,7 +461,7 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, && nativeEvent.getKeyCode() == KeyCodes.KEY_TAB && !nativeEvent.getShiftKey()) { nativeEvent.preventDefault(); - FocusUtil.focusOnFirstFocusableElement(this.getElement()); + FocusUtil.focusOnFirstFocusableElement(getElement()); } if (nativeEvent.getEventTarget().cast() == bottomTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_BACKSPACE) { @@ -706,12 +706,16 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner, public void setVaadinModality(boolean modality) { vaadinModality = modality; if (vaadinModality) { + getElement().setAttribute("aria-modal", "true"); + Roles.getDialogRole().set(getElement()); if (isAttached()) { showModalityCurtain(); } addTabBlockHandlers(); deferOrdering(); } else { + getElement().removeAttribute("aria-modal"); + Roles.getDialogRole().remove(getElement()); if (modalityCurtain != null) { if (isAttached()) { hideModalityCurtain(); -- cgit v1.2.3