---
title: "barrierefreies menü mit <dfn> tags durchnummerieren"
url: "https://www.typo3.net/d/23583-barrierefreies-menue-mit-dfn-tags-durchnummerieren"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2005-04-13"
last_reply: "2005-04-21"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# barrierefreies menü mit <dfn> tags durchnummerieren

Extensions › Entwicklung · 1 Antwort · gestartet 2005-04-13

## Eröffnungsbeitrag

**mcmz** · 2005-04-13 · [Beitrag #1](https://www.typo3.net/d/23583-barrierefreies-menue-mit-dfn-tags-durchnummerieren/1)

hallo,

vielleicht hat jemand lust und ein wenig muße mir hierbei zu helfen.

ich habe eine erweiterung für die gov_textmenu extension vor. diese soll nun mit "dfn" tags arbeiten.
zwischen diesen zählen die werte des Tmenus hoch plus die zahlen der eltern-levels.

klassisch. also:

```html
<dfn>1</dfn> Hallo 
      <dfn>1.1</dfn> Kind des Hallos
```

usw.

mit count_HMENU_TMENUITEMS klappt das zählen soweit auch vor den titeln. aber wie übertrage ich die werte des eltern elements. es geht ja quasi nicht um die level der elternelemte sondern um die zahlvergabe bei den jeweiligen duchzählungs automatismen.
man könnte natürlich auch eine variable per url vergeben . das wäre aber unfein. habt ihr da irgenwelche ideen zu ?? vielleicht hat ja auch jemand lust die extension generell mit mir fortzuführen.

grüße,

martin #paralyzed#

## Antworten

### [#2](https://www.typo3.net/d/23583-barrierefreies-menue-mit-dfn-tags-durchnummerieren/2) · JanPhilipp · 2005-04-21

Hallo Martin,

hatte das gleiche Problem und habe mir mit einer PHP-Funktion geholfen. Sicher nicht das Eleganteste, weil einfach eine globale Array-Variable gefüllt wird, aber fürs Erste kanns helfen. Mein Menü sorgt für eine Ausgabe, wie in diesem Artikel <http://www.einfachfueralle.de/artikel/menues/> beschrieben.

Hier die PHP-Funktion, die bei mir in einer Datei "template_functions" im Ordner "fileadmin/templates" liegt:

```php
<?php

if (!is_object($TSFE))    {
	die("You cannot execute this file directly. It's meant to be included from index_ts.php");
}

class user_template_functions {
    var $cObj;

    function generateIndex($content,$conf) {
        global $TSFE;
        $TSFE->set_no_cache();
        
        // Init on first call
        if (!is_array($GLOBALS['navIndex'])) {
            $GLOBALS['navIndex'] = array();
        }

        // Get level
        $level = intval($conf['level']);
        $index = $level - 1;
        if ($level > count($GLOBALS['navIndex'])) {
            $GLOBALS['navIndex'][$index] = 1;
        } else {
            $GLOBALS['navIndex'][$index]++;
            for ($i = $index + 1; $i < count($GLOBALS['navIndex']); $i++) {
                $GLOBALS['navIndex'][$i] = 0;
            }
        }
        for ($i = 0; $i < $level; $i++) {
            if ($output != "") {
                $output .= ".";
            }
            $output .= $GLOBALS['navIndex'][$i];
        }
        return $output;
    }

}

?>
```

Hier der TS-Code für das Template:

```typoscript
includeLibs.template_functions = fileadmin/templates/template_functions.php

# menu cObject
temp.nav = HMENU
temp.nav.wrap = <ul> | </ul>

# First level menu-object, textual
temp.nav.1 = TMENU
temp.nav.1 {

    noBlur = 1

    NO {
        ATagParams = class="nav-1-no"
        ATagTitle.field = subtitle
        allWrap = <li>|<span class="hidden">. </span></li>
        stdWrap.prepend = COA
        stdWrap.prepend {
            10 = TEXT
            10.preUserFunc = user_template_functions->generateIndex
            10.preUserFunc.level = 1
            10.wrap = <dfn>|: </dfn>
        }
        stdWrap.htmlSpecialChars = 1
    }

    ACTIFSUB = 1
    ACTIFSUB {
        ATagParams = class="nav-1-act"
        ATagTitle.field = subtitle
        allWrap = <li>|<span class="hidden">. </span>
        stdWrap.prepend = COA
        stdWrap.prepend {
            10 = TEXT
            10.preUserFunc = user_template_functions->generateIndex
            10.preUserFunc.level = 1
            10.wrap = <dfn>|: </dfn>
        }
        stdWrap.htmlSpecialChars = 1
        wrapItemAndSub = |</li>
    }

    CUR = 1
    CUR {
        doNotLinkIt = 1
        allWrap = <li>|</strong></span><span class="hidden">. </span>
        stdWrap.prepend = COA
        stdWrap.prepend {
            10 = TEXT
            10.field = subtitle
            10.wrap = <span class="nav-1-cur" title="|"><strong>
            20 = TEXT
            20.preUserFunc = user_template_functions->generateIndex
            20.preUserFunc.level = 1
            20.wrap = <dfn>|: </dfn>
            30 = TEXT
            30.value = <span class="hidden">Standort: </span>
        }
        stdWrap.htmlSpecialChars = 1
        wrapItemAndSub = |</li>
    }

}

# Second level menu-object, textual
temp.nav.2 = TMENU
temp.nav.2 {

    noBlur = 1
    wrap = <ul>|</ul>

    NO {
        ATagParams = class="nav-2-no"
        ATagTitle.field = subtitle
        allWrap = <li>|<span class="hidden">. </span></li>
        stdWrap.prepend = COA
        stdWrap.prepend {
            10 = TEXT
            10.preUserFunc = user_template_functions->generateIndex
            10.preUserFunc.level = 2
            10.wrap = <dfn>|: </dfn>
        }
        stdWrap.htmlSpecialChars = 1
    }

    CUR = 1
    CUR {
        doNotLinkIt = 1
        allWrap = <li>|</strong></span><span class="hidden">. </span></li>
        stdWrap.prepend = COA
        stdWrap.prepend {
            10 = TEXT
            10.field = subtitle
            10.wrap = <span class="nav-2-cur" title="|"><strong>
            20 = TEXT
            20.preUserFunc = user_template_functions->generateIndex
            20.preUserFunc.level = 2
            20.wrap = <dfn>|: </dfn>
            30 = TEXT
            30.value = <span class="hidden">Standort: </span>
        }
        stdWrap.htmlSpecialChars = 1
    }

}
```

Wenn jemand Verbesserungsvorschläge hat oder eine bessere Lösung weiß, würde ich gerne auch davon profitieren.

Gruß Jan-Philipp Halle (typo3 [at] jphalle.de)

---

Quelle: „barrierefreies menü mit <dfn> tags durchnummerieren“, typo3.net, https://www.typo3.net/d/23583-barrierefreies-menue-mit-dfn-tags-durchnummerieren
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
