From b87d3a8e581198b7d4ab78bb835ac3c88a42e7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Fri, 20 Oct 2023 09:41:44 +0200 Subject: [PATCH] fix(a11y): keep focus on toggled menu item fixed #14470 --- mod/likes/views/default/elgg/likes.js | 1 + views/default/navigation/menu/elements/item_toggle.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mod/likes/views/default/elgg/likes.js b/mod/likes/views/default/elgg/likes.js index fdd8ee48e1d..4df90fa43b5 100644 --- a/mod/likes/views/default/elgg/likes.js +++ b/mod/likes/views/default/elgg/likes.js @@ -12,6 +12,7 @@ define(['jquery', 'elgg', 'elgg/Ajax', 'elgg/hooks'], function ($, elgg, Ajax, h function update_like_menu_item(guid, menu_item) { $('.elgg-menu-item-likes > a[data-likes-guid=' + guid + ']').replaceWith(menu_item); + $('.elgg-menu-item-likes > a[data-likes-guid=' + guid + ']').focus(); // can't chain because the selector is replaced } function set_counts(guid, num_likes, new_value) { diff --git a/views/default/navigation/menu/elements/item_toggle.js b/views/default/navigation/menu/elements/item_toggle.js index 16f03a41d6b..d22d79997c5 100644 --- a/views/default/navigation/menu/elements/item_toggle.js +++ b/views/default/navigation/menu/elements/item_toggle.js @@ -16,7 +16,7 @@ define(['jquery', 'elgg/hooks', 'elgg/Ajax'], function ($, hooks, Ajax) { var $both_items = $item_clicked.add($other_item); // Be optimistic about success $both_items.toggleClass('hidden'); - $other_item.focus(); + $other_item.children('a').focus(); // Send the ajax request @@ -34,7 +34,7 @@ define(['jquery', 'elgg/hooks', 'elgg/Ajax'], function ($, hooks, Ajax) { error: function() { // Something went wrong, so undo the optimistic changes $both_items.toggleClass('hidden'); - $item_clicked.focus(); + $item_clicked.children('a').focus(); } });