Skip to content

Commit ebe219e

Browse files
committed
Enhance Menu Item Rendering: Add in-use state indication and screen reader text for already added items
1 parent 4c0e6c0 commit ebe219e

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/js/_enqueues/wp/customize/nav-menus.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,20 @@
308308

309309
renderMenuItem: function(menuItem) {
310310
var $item = $(wp.template('available-menu-item')(menuItem.attributes));
311+
var $title = $item.find('.menu-item-title');
312+
var $button = $item.find('.item-add');
313+
var $srtext = $button.find('.screen-reader-text');
314+
var isInUse = this.isMenuItemAlreadyAdded(menuItem);
311315

312-
$item.find('.menu-item-title').toggleClass(
313-
'in-use',
314-
this.isMenuItemAlreadyAdded(menuItem)
315-
);
316+
$title.toggleClass('in-use', isInUse);
317+
318+
// Append screen reader text if already in menu
319+
if (isInUse) {
320+
var markerText = wp.i18n.__('(in current menu)');
321+
if (!$srtext.text().includes(markerText)) {
322+
$srtext.append(' ' + markerText);
323+
}
324+
}
316325

317326
return $item;
318327
},

0 commit comments

Comments
 (0)