<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"> 
<channel>
    

    <title>Wirklich zug&#228;ngliche Tabs mit jQuery</title>
    <link>http://www.highresolution.info/weblog/entry/zugaengliche_tabs_mit_jquery/</link>
    <description>Vor ca. 1,5 Jahren, im Sommer 2007 sprach ich Dirk Ginader per Skype auf ein kleines Problem an. Damals machte ich gerade meine ersten Schritte mit jQuery und wollte f&#252;r das Redesign von YAML.de ein Tabscript verwenden, um mehrfach hintereinander aufgelistete Quelltextabschnitte aufger&#228;umter pr&#228;sentieren zu k&#246;nnen. Zu diesem Zweck sah ich mir verschiedene Tab&#45;L&#246;sungen (mit und ohne jQuery) an, die jedoch alle am gleichen Problem krankten. 

Die Tabs funktionieren generell nur in Verbindung mit JavaScript. Dennoch erwarteten s&#228;mtliche existierenden Scripte von mir, den f&#252;r die Tabreiter notwendigen Markup (UL&#45;Liste) fest im Layout zu integrieren. Ich hielt das f&#252;r unsinnig, denn zum Wesen von unaufdringlichem bzw. zug&#228;nglichem JavaScript geh&#246;rt, dass Bedienelemente, die nur in Verbindung mit der JavaScript&#45;Applikation ben&#246;tigt werden, auch per JavaScript erzeugt werden sollten.

Daraus entstand folgende Idee: Man definiert einen Bereich der Webseite, welcher die Tabinhalte beinhaltet und definiert ein HTML&#45;Element, welches als Trenner zwischen den Tabinhalten fungiert und den Namen des Tabreiters beinhaltet. Im einfachsten Fall w&#228;re das Bereich aus gleichrangigen &#220;berschriften und Absatztexten. Per JavaScript k&#246;nnten aus den &#220;berschriften die Tabreiter generiert werden. Die dazwischen befindlichen Absatztexte (oder was auch immer sich zwischen den Trennelementen befindet) w&#252;rden als Inhalte der Tabs interpretiert und entsprechend gestaltet. Das Sch&#246;ne daran: Ist JavaScript deaktiviert, so st&#246;rt kein unsinniger Listenmarkup und die Tabinhalte pr&#228;sentieren sich im normalen Textfluss der Webseite.

Mit dieser Idee trat ich also im Sommer 2007 an Dirk heran und es dauerte nur wenige Tage bis die erste Version des Plugins Gestalt annahm, die im &#220;brigen bis heute auf YAML.de in der Dokumentation der Subtemplates ihren Dienst tut. Schon lange hatten wir vor, dieses Plugin zu verfeinern und zusammen mit YAML zu ver&#246;ffentlichen. Dass es dennoch bis ins Jahr 2009 gedauert hat &#45; naja, sei es drum. Ein gro&#223;er Teil der Verz&#246;gerung floss n&#228;mlich eben in die Verfeinerung des Plugins, &#252;ber die Dirk in seinem Blog auch ausf&#252;hrlich berichtet. So ist es gerade bei den so gern auf modernen Webseiten verwendeten Tabs alles andere als trivial, diese wirklich barrierfrei zu gestalten. Nun hat Dirk bei Yahoo in London den besonderen Vorteil, mit Artur Ortega einen blinden Kollegen neben sich sitzen zu haben, und beide gemeinsam konnten die sich langsam entwickelnde L&#246;sung nicht nur theoretisch durchdenken, sondern auch unmittelbar im Praxistest auf Herz und Nieren testen. Vielen Dank Euch beiden, wirklich eine reife Leistung.

Momentan stehe ich mit Dirk in Kontakt, um noch weitere Verbesserungen an seinem Plugin vorzunehmen. So soll das Script in der n&#228;chsten Version unabh&#228;ngig von animierten &#220;berg&#228;ngen eine vollst&#228;ndige Druckausgabe aller Tabinhalte unkompliziert erm&#246;glichen und eine optionale Synchronisierung der Containerh&#246;hen der Tabinhalte m&#246;glich sein. Eine Anreicherung mit ARIA ist ebenfalls denkbar.

&#220;brigens: Auf die gleiche Art und Weise lie&#223;en sich auch zug&#228;nglichere Accordion&#45;Boxen erstellen. Die Probleme d&#252;rften sich gleichen, ebenso wie der aufgezeigte L&#246;sungsweg.</description>
    <dc:language>de-de</dc:language>
    <dc:creator>Dirk Jesse</dc:creator>
    <dc:rights>Copyright 2009</dc:rights>
    <dc:date>2009-03-02T;19:14:52+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.expressionengine.com/" />
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
    rdf:about="http://www.highresolution.info/weblog/entry/zugaengliche_tabs_mit_jquery/"
    trackback:ping="http://www.highresolution.info/trackback/1364/3jlVeV1r/"
    dc:title="Wirklich zug&#228;ngliche Tabs mit jQuery"
    dc:identifier="http://www.highresolution.info/weblog/entry/zugaengliche_tabs_mit_jquery/" 
    dc:subject="JavaScript,jQuery,Zug&#228;nglichkeit"
    dc:description="Vor ca. 1,5 Jahren, im Sommer 2007 sprach ich Dirk Ginader per Skype auf ein kleines Problem an. Damals machte ich gerade meine ersten Schritte mit jQuery und wollte f&#252;r das Redesign von YAML.de ein Tabscript verwenden, um mehrfach hintereinander aufgelistete Quelltextabschnitte aufger&#228;umter pr&#228;sentieren zu k&#246;nnen. Zu diesem Zweck sah ich mir verschiedene Tab&#45;L&#246;sungen (mit und ohne jQuery) an, die jedoch alle am gleichen Problem krankten. Die Tabs funktionieren generell nur&#8230;"
    dc:creator="Dirk Jesse"
    dc:date="2009-03-02 07:14:52 PM GMT" />
</rdf:RDF>
--> 


    <item>
      <title>Kommentar von Antonio</title>
      <link>http://www.highresolution.info/weblog/entry/zugaengliche_tabs_mit_jquery/</link>
      <description>Eine feine Sache, die hier wirklich sehr schön gelöst ist. Mit solchen zugänglichen jQuery&#45;Lösungen wird JavaScript für mich endlich vielfältig einsetzbar.
Danke!</description>
      <content:encoded><![CDATA[<p>Eine feine Sache, die hier wirklich sehr schön gelöst ist. Mit solchen zugänglichen jQuery-Lösungen wird JavaScript für mich endlich vielfältig einsetzbar.<br />
Danke!
</p>]]></content:encoded>
    <dc:date>2012-01-18T;11:39:34+00:00</dc:date>
    </item>

    <item>
      <title>Kommentar von Dirk Ginader</title>
      <link>http://www.highresolution.info/weblog/entry/zugaengliche_tabs_mit_jquery/</link>
      <description>Danke für den tollen Beitrag Dirk :&#45;)
Den Hinweis mit dem Akkordeon werde ich mir auf jeden Fall mal zu Gemüte führen&#8230; ;&#45;)</description>
      <content:encoded><![CDATA[<p>Danke für den tollen Beitrag Dirk :-)<br />
Den Hinweis mit dem Akkordeon werde ich mir auf jeden Fall mal zu Gemüte führen&#8230; ;-)
</p>]]></content:encoded>
    <dc:date>2012-01-18T;11:39:34+00:00</dc:date>
    </item>
 

</channel>
</rss>
