Changes for page Menu Macro
Last modified by teamwire005 on 2025/05/06 07:37
From version 4.1
edited by teamwire004
on 2024/07/08 14:57
on 2024/07/08 14:57
Change comment:
Migrated property [type] from class [XWiki.WikiMacroParameterClass]
To version 8.1
edited by teamwire004
on 2024/07/12 13:15
on 2024/07/12 13:15
Change comment:
There is no comment for this version
Summary
-
Objects (1 modified, 1 added, 0 removed)
Details
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,6 +1,7 @@ 1 1 {{velocity}} 2 2 #set ($id = $xcontext.macro.params.id) 3 3 #set ($type = $xcontext.macro.params.type) 4 +#set ($label = $xcontext.macro.params.label) 4 4 #set ($colorTheme = $xwiki.getUserPreference('colorTheme')) 5 5 #if ("$!colorTheme" != '') 6 6 ## Make sure we use an absolute reference (see XWIKI-9672) ... ... @@ -8,16 +8,24 @@ 8 8 #end 9 9 #set ($discard = $xwiki.ssx.use("$xcontext.macro.doc.prefixedFullName", {'colorTheme': $colorTheme})) 10 10 #set ($discard = $xwiki.jsx.use("$xcontext.macro.doc.prefixedFullName")) 12 +## Make sure the label is non-empty as otherwise the aria-label doesn't work. 13 +#if ("$!label" != '') 14 + #set ($label = $wikimacro.context.getXDOM().getIdGenerator().generateUniqueId('Menu','')) 15 +#end 11 11 #if($type.contains('horizontal')) 12 12 ## Make sure the id is non-empty for horizontal menus as otherwise the toggle doesn't work. 13 - #if ( $stringtool.isBlank("$!id"))18 + #if ("$!id" == '') 14 14 #set ($id = $wikimacro.context.getXDOM().getIdGenerator().generateUniqueId("M", "GeneratedMenuId")) 15 15 #end 16 - (% role="navigation" class="menu-horizontal-toggle" %)((( 21 + (% role='navigation' class='menu-horizontal-toggle' 22 + aria-label="${services.rendering.escape($label, 'xwiki/2.1')}" %)((( 17 17 (% class="navbar-header" %)((( 18 18 {{html}} 19 - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#$!{escapetool.xml($id)}" aria-expanded="false"> 20 - <span class="sr-only"></span> 25 + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#$!{escapetool.xml($id)}" 26 + aria-expanded="false" aria-controls="$!{escapetool.xml($id)}"> 27 + <span class="sr-only"> 28 + $escapetool.xml($services.localization.render('menu.ui.horizontal.toggler.description')) 29 + </span> 21 21 <span class="icon-bar"></span> 22 22 <span class="icon-bar"></span> 23 23 <span class="icon-bar"></span> ... ... @@ -24,12 +24,13 @@ 24 24 </button> 25 25 {{/html}} 26 26 ))) 27 - (% id="$!{services.rendering.escape($id, 'xwiki/2.1')}" class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')} collapse navbar-collapse" %)((( 36 + (% id="$!{services.rendering.escape($id, 'xwiki/2.1')}" class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')} collapse navbar-collapse" role="navigation" %)((( 28 28 {{wikimacrocontent/}} 29 29 ))) 30 30 ))) 31 31 #else 32 - (% #if ("$!id" != '') id="${services.rendering.escape($id, 'xwiki/2.1')}"#end class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')}" %)((( 41 + (% role="navigation" #if ("$!id" != '') id="${services.rendering.escape($id, 'xwiki/2.1')}"#end class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')}" 42 + aria-label="${services.rendering.escape($label, 'xwiki/2.1')}" %)((( 33 33 {{wikimacrocontent/}} 34 34 ))) 35 35 #end
- XWiki.WikiMacroParameterClass[3]
-
- Parameter description
-
... ... @@ -1,0 +1,1 @@ 1 +Optional menu label used to describe the content of the menu. - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +No - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +label