Report from the TYPO3 Code Sprint in Geneva
27–31 October, TYPO3 contributors got together in Geneva, Switzerland, for a TYPO3 Code Sprint. It wasn’t just the Core Team — anyone interested in…
Although we use text for the links we should also use the title tag to give additional information what the visitor can expect on the pages.
From the point of usability the list entry of the page where you currently are should not be linked. Otherwise a web reader would read this as normal link and the visitor might expect another page in the list.
Adding design
With CSS you can make designs for <ul> lists which don´t need to fear comparison with graphical menus. The fact that you can style the <li> tag and the <a> tag gives you a wealth of possibilities to build designs far beyond a change of the link color on mouse over. Together with the different link states you can define in Typoscript you have a variety of options to add visual guides for graphical browsers to your menus.
Menus and
That kind of navigation discussed above you usually integrate into your design template by substituting some ###MAINNAVI### subpart with the dynamic menu from some temporary cObject temp.mainnavi which defines a TMENU structure. As you can define in your Typoscript what to wrap around elements you have full control over the way your menu is styled and rendered.
But there is also a page content element "site map" that offers some menu types and if you are using the static template CSS Styled Content you will have noticed that the menus generated do not have any list structure but are paragraphs and you can´t distinguish the branches or levels if you don´t have the visual guide given by the CSS classes. On the other hand, as the TMENU structures are already provided by CSS Styled Content with some change of the Typoscript you can have these as correctly nested <ul> lists, too.
Now back to the order numbers that would not only be nice to have but make <ul> list menus really accessible.
Although a list menu already reflects the structure of a website if you imagine you have a really huge website with many branches and all have some sub levels it is still difficult to get an overview. In the linearized presentation of a text browser or a web reader you still can´t distinguish the branches and levels because the list is just displayed from top to bottom without any hint where a sub level ends or the next branch starts. This disadvantage of unnumbered lists can be compensated by the usage of order numbers and the <dfn> tag. <dfn> is logical markup and it has the meaning: "this is a definition". In a <ul> menu structure the <dfn> is used to define order numbers for the list items considering their position in the hierarchical structure.
<ul>
<li><a href="me.html"><dfn>1: </dfn>about me</a>
<ul>
<li><a href="house.html"><dfn>1.1: </dfn>my house</a></li>
<li><a href="car.html"><dfn>1.2: </dfn>my car</a></li>
<li><a href="boat.html"><dfn>1.3: </dfn>my boat</a></li>
</ul>
</li>
<li><a href="company.html"><dfn>2: </dfn>about my company</a>
<ul>
<li><a href="desk.html"><dfn>2.1: </dfn>my desk</a></li>
<li><a href="computer.html"><dfn>2.2: </dfn>my computer</a></li>
<li><a href="secretary.html"><dfn>2.3: </dfn>my secretary</a></li>
</ul>
</li>
</ul>
Please note that the order number must be finished by a colon otherwise web readers might read something like 2.1. as 2nd of January (or 1st of February).
For graphical browsers which can use visual guides to order list menus the <dfn> section might be set hidden by means of CSS whereas with custom CSS, text browsers, web readers etc. the order numbers are your guide through the website´s architecture even if this is very complex.
For the <dfn> support in TYPO3 Jan Wischnat has written a function that can be easily integrated in TMENU structures.
Just add something like
page.includeLibs.dfn = fileadmin/scripts/dfn_iproc_tmenu.inc
to your page configuration Typoscript and
....
temp.mainnavi.1 = TMENU
temp.mainnavi.1.IProcFunc = user_IProc_dfn
....
to your menu configuration.
27–31 October, TYPO3 contributors got together in Geneva, Switzerland, for a TYPO3 Code Sprint. It wasn’t just the Core Team — anyone interested in…
The versions 13.4.20 and 12.4.39 of the TYPO3 Enterprise Content Management System have just been released.
The TYPO3 Documentation team introduces a new feature that significantly improves the workflow for extension developers when authoring the…
Awards season is buzzing as nominees head to Düsseldorf, a side-by-side content preview shows how budget ideas become features, and TYPO3 Camp London…
In this article, Łukasz Uznański outlines the design, development journey (including UX experiments and pitfalls), and practical scenarios for…
Each month, we celebrate TYPO3 contributors in our Developer Appreciation Day post. Please take a moment to share gratitude for their continued…