diff options
3 files changed, 26 insertions, 4 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/FocusUtil.java b/client/src/main/java/com/vaadin/client/ui/FocusUtil.java index 0a510f2b65..7567e67236 100644 --- a/client/src/main/java/com/vaadin/client/ui/FocusUtil.java +++ b/client/src/main/java/com/vaadin/client/ui/FocusUtil.java @@ -97,22 +97,42 @@ public class FocusUtil { return focusable.getElement().getTabIndex(); } + /** + * Finds all the focusable children of given parent element. + * + * @param parent + * the parent element + * @return array of focusable children + * @since 8.1.7 + */ public static native Element[] getFocusableChildren(Element parent) /*-{ var focusableChildren = parent.querySelectorAll('[type][tabindex]:not([tabindex="-1"]), [role=button][tabindex]:not([tabindex="-1"])'); return focusableChildren; }-*/; - public static void focusOnFirstFocusableElement(Element parent) - { + /** + * Moves the focus to the first focusable child of given parent element. + * + * @param parent + * the parent element + * @since 8.1.7 + */ + public static void focusOnFirstFocusableElement(Element parent) { Element[] focusableChildren = getFocusableChildren(parent); if (focusableChildren.length > 0) { focusableChildren[0].focus(); } } - public static void focusOnLastFocusableElement(Element parent) - { + /** + * Moves the focus to the last focusable child of given parent element. + * + * @param parent + * the parent element + * @since 8.1.7 + */ + public static void focusOnLastFocusableElement(Element parent) { Element[] focusableChildren = getFocusableChildren(parent); if (focusableChildren.length > 0) { focusableChildren[focusableChildren.length - 1].focus(); diff --git a/client/src/main/java/com/vaadin/client/ui/VAccordion.java b/client/src/main/java/com/vaadin/client/ui/VAccordion.java index 4313bbd586..9093eadaeb 100644 --- a/client/src/main/java/com/vaadin/client/ui/VAccordion.java +++ b/client/src/main/java/com/vaadin/client/ui/VAccordion.java @@ -117,6 +117,7 @@ public class VAccordion extends VTabsheetBase { * * @param tabIndex * tabulator index for the open stack item + * @since 8.1.7 */ public void setTabIndex(int tabIndex) { tabulatorIndex = tabIndex; diff --git a/client/src/main/java/com/vaadin/client/ui/VTabsheet.java b/client/src/main/java/com/vaadin/client/ui/VTabsheet.java index 782633b591..64e99a047d 100644 --- a/client/src/main/java/com/vaadin/client/ui/VTabsheet.java +++ b/client/src/main/java/com/vaadin/client/ui/VTabsheet.java @@ -793,6 +793,7 @@ public class VTabsheet extends VTabsheetBase * * @param tabIndex * tabulator index for the active tab of the tab sheet + * @since 8.1.7 */ public void setTabIndex(int tabIndex) { tabulatorIndex = tabIndex; |