Sara: Warning: Element main does not need a role attribute.

Hallo,

wenn ich meine unter https://validator.w3.org prüfen lasse, erhalte ich folgende Warnung

Element main does not need a role attribute.

Hier im Forum habe ich immer wieder gelesen, dass ich <main role="main"> schreiben soll. Ist dieses nicht mehr aktuell?

  1. Element main does not need a role attribute.

    Hier im Forum habe ich immer wieder gelesen, dass ich **<main role="main"> **schreiben soll. Ist dieses nicht mehr aktuell?

    Eigentlich nie gewesen. <main> kennzeichnet den Hauptteil des Dokuments. role="main" kennzeichnet den Hauptteil des Dokuments. Die Sinnlosigkeit sollte offenkundig sein – zumindest in der Theorie.

    Der einzige Grund für so eine Doppelt-hält-besser-Strategie ist Software, die <main> nicht kennt und deshalb auf das ältere role="main" angewiesen ist.

    1. Hallo,

      Eigentlich nie gewesen. <main> kennzeichnet den Hauptteil des Dokuments. role="main" kennzeichnet den Hauptteil des Dokuments. Die Sinnlosigkeit sollte offenkundig sein – zumindest in der Theorie.

      Der einzige Grund für so eine Doppelt-hält-besser-Strategie ist Software, die <main> nicht kennt und deshalb auf das ältere role="main" angewiesen ist.

      danke für deine Erklärung. Dann habe ich zwei Optionen:

      1. Ich lebe mit dieser Warnung
      2. Ich lösche es einfach raus und nutzte nur <main>
      1. Servus!

        danke für deine Erklärung. Dann habe ich zwei Optionen:

        1. Ich lebe mit dieser Warnung

        Das ist besser, da das role-Attribut einfach ein Service für Screenreader und ältere Browser ist, die das main-Element noch nicht kennen.

        siehe auch : main-Element

        Herzliche Grüße

        Matthias Scharwies

        1. Hallo,

          Das ist besser, da das role-Attribut einfach ein Service für Screenreader und ältere Browser ist, die das main-Element noch nicht kennen. siehe auch : main-Element

          danke, dann lebe ich mit dieser Meldung.

      2. @@Sara

        Dann habe ich zwei Optionen:

        1. Ich lebe mit dieser Warnung
        2. Ich lösche es einfach raus und nutzte nur <main>

        Dann musst du abwägen: Was hat größeren Einfluss auf die Nutzer?

        1. eine Warnung (kein Fehler), die nur du siehst
        2. dass ein Browser die Rolle des Hauptinhalt nicht erkennt und assistiven Technologien (wie Screenreadern) nicht zur Verfügung stellen kann

        LLAP 🖖

        --
        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        1. Hallo,

          Dann musst du abwägen: Was hat größeren Einfluss auf die Nutzer?

          1. eine Warnung (kein Fehler), die nur du siehst
          2. dass ein Browser die Rolle des Hauptinhalt nicht erkennt und assistiven Technologien (wie Screenreadern) nicht zur Verfügung stellen kann

          hab mich für die zweite Variante entschieden.

          1. @@Sara

            Dann musst du abwägen: Was hat größeren Einfluss auf die Nutzer?

            1. eine Warnung (kein Fehler), die nur du siehst
            2. dass ein Browser die Rolle des Hauptinhalt nicht erkennt und assistiven Technologien (wie Screenreadern) nicht zur Verfügung stellen kann

            hab mich für die zweite Variante entschieden.

            Du stellst deine Eitelkeit über die Nutzbarkeit deiner Seiten (bes. im IE)? Wirklich?

            LLAP 🖖

            --
            Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
            1. Hallo,

              hab mich für die zweite Variante entschieden. Du stellst deine Eitelkeit über die Nutzbarkeit deiner Seiten (bes. im IE)? Wirklich?

              du solltest vielleicht ein paar Browser Fenster schließen, denn du bringst die Antworten total aus dem Zusammenhang :)

          2. @@Sara

            hab mich für die zweite Variante entschieden.

            Äh Moment, eben sagtest du noch: für die erste (<main role="main">).

            LLAP 🖖

            --
            Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
            1. Hallo,

              Äh Moment, eben sagtest du noch: für die erste (<main role="main">).

              richtig, mein Aussage bezog sich auf deine Aufzählung:

              dass ein Browser die Rolle des Hauptinhalt nicht erkennt und assistiven Technologien (wie Screenreadern) nicht zur Verfügung stellen kann

              1. richtig, mein Aussage bezog sich auf deine Aufzählung:

                dass ein Browser die Rolle des Hauptinhalt nicht erkennt und assistiven Technologien (wie Screenreadern) nicht zur Verfügung stellen kann

                Dann musst du unbedingt die CSS-Angabe display:block für main einfügen.

                Was Gunnar da über assistierte Rollenspielchen geschrieben hat, kann dir vielleicht egal sein. Sicher nicht egal ist dir, dass der IE in allen Versionen das main-Element (nicht jedoch seinen Inhalt) bei der Darstellung ohne obige explizite display-Angabe gänzlich ignoriert.

                1. Hallo,

                  Dann musst du unbedingt die CSS-Angabe display:block für main einfügen.

                  ich binde html5shiv.js ein, damit sollte soweit ich weiß das Problem behoben sein.

                  Was Gunnar da über assistierte Rollenspielchen geschrieben hat, kann dir vielleicht egal sein. Sicher nicht egal ist dir, dass der IE in allen Versionen das main-Element (nicht jedoch seinen Inhalt) bei der Darstellung ohne obige explizite display-Angabe gänzlich ignoriert.

                  Laut http://caniuse.com/#search=main versteht nur der IE 8 <main> nicht und auf diesen alten Browser kann ich gerne verzichten. Wer mit so einem alten System noch unterwegs ist muss sich nicht wundern warum die Webseite die er besucht scheiße ausschaut. Irgendwann muss es auch mal gut sein mit der Berücksichtigung von alten Browsern oder?

                  1. Irgendwann muss es auch mal gut sein mit der Berücksichtigung von alten Browsern oder?

                    Ja.

                    Laut http://caniuse.com/#search=main versteht nur der IE 8 <main> nicht und auf diesen alten Browser kann ich gerne verzichten.

                    Autsch.

                    ich binde html5shiv.js ein, damit sollte soweit ich weiß das Problem behoben sein.

                    Kommt drauf an wie du es einbindest.

                    Gruss

                    MrMurphy

                    1. Hallo,

                      Laut http://caniuse.com/#search=main versteht nur der IE 8 <main> nicht und auf diesen alten Browser kann ich gerne verzichten.

                      Autsch.

                      was willst du mir damit sagen?

                      Kommt drauf an wie du es einbindest.

                      so

                      <!--[if lt IE 9]>
                      <script src="js/ie/html5shiv.js"></script>
                      <![endif]-->
                      
                      1. Hallo

                        was willst du mir damit sagen?

                        Dass du mal eine Seite mit main-Element im IE10 und IE11 testen solltest. Wenn du die beiden IE nicht als veraltet ansiehst wirst du deine Vorstellungen über die Deklarierung als Blockelement überdenken.

                        Gruss

                        MrMurphy

                        1. Hallo,

                          Dass du mal eine Seite mit main-Element im IE10 und IE11 testen solltest. Wenn du die beiden IE nicht als veraltet ansiehst wirst du deine Vorstellungen über die Deklarierung als Blockelement überdenken.

                          danke für den Hinweis, kann ich leider nicht testen. Hab hier ein aktuelles Windows 10 mit Edge und da sieht alles schick aus :) Ich muss mal schauen wie ich an einen alten Browser komme.

                  2. Servus!

                    Laut http://caniuse.com/#search=main versteht nur der IE 8 <main> nicht

                    Achtung: Scroll bei deiner Suche auf Caniuse nach unten bis zu: http://caniuse.com/#feat=html5semantic

                    Dort siehst Du unter der 1 , dass main die Ausnahme ist und von IE9-11 nicht unterstützt wird.

                    Allerdings stand im Wiki-Artikel, dessen Link ich dir heut morgen geschickt habe, dass man mit display:block; zu einer passenden Darstellung kommt.

                    Die JavaScript-Weiche sehe ich dagegen als nicht mehr notwendig an, da der IE weniger als 0.5% Nutzer hat.

                    Herzliche Grüße

                    Matthias Scharwies

  2. Hallo,

    ich erhalte noch ein Fehler und zwar bei itemprop="telephone"

    <a href="tel:+4900000" itemprop="telephone"><h3>+49 000 - 0000</h3></a>
    

    Dieses ist scheinbar ein grober Fehler? Wenn ich bei https://schema.org/telephone nachschaue, dann muss ich um alles ein Span legen?

    <span itemprop="telephone"><a href="tel:+4900000"><h3>+49 000 - 0000</h3></a></span>
    

    Oder soll ich auch diesen Fehler einfach ignorieren?

    1. Hallo

      so ein paar hingeworfene Quellcodeschnipsel sind zur Lösungsfindung häufig nicht ausreichend, so wahrscheinlich auch hier.

      Wahrscheinlich hast du den Sinn des itemprop-Attributs noch nicht erfasst.

      Ich kenne mit damit zwar nicht aus, aber die itemprop-Attribute müssen sich wahrscheinlich innerhalb eines umgebenden Elements mit dem Stand-Alone-Attribut "itemscope" befinden. Sonst kann das auswertende Programm nicht zuordnen, welche Angaben zum Datensatz gehören und die itemprop-Attribute sind sinnfrei.

      Kann es sein dass das fehlt?

      http://webkompetenz.wikidot.com/html-handbuch:mikrodaten-aufbau

      Oder soll ich auch diesen Fehler einfach ignorieren?

      Kommt darauf an ob du sauberes HTML schreiben willst oder nicht. Fehler sollten beseitigt werden, bei Warnungen muss man halt schauen ob die zutreffen oder nicht.

      Gruss

      MrMurphy

      1. Hallo,

        Ich kenne mit damit zwar nicht aus, aber die itemprop-Attribute müssen sich wahrscheinlich innerhalb eines umgebenden Elements mit dem Stand-Alone-Attribut "itemscope" befinden. Sonst kann das auswertende Programm nicht zuordnen, welche Angaben zum Datensatz gehören und die itemprop-Attribute sind sinnfrei.

        Kann es sein dass das fehlt? http://webkompetenz.wikidot.com/html-handbuch:mikrodaten-aufbau

        dieses hat wirklich gefehlt. Hab es ergänz und der Fehler ist weg

        <div itemscope class="fon">
           <a href="tel:+4900000" itemprop="telephone"><h3>+49 000 - 0000</h3></a>
        </div>
        
    2. @@Sara

      ich erhalte noch ein Fehler und zwar bei itemprop="telephone"

      “Wait a minute…” (ab 24:37) itemprop ist der Fehler. ;-)

      Mein Lachen war über das verzerrte Gesicht von Chaals Nevile, als ich von RDFa auf Microdata umschaltete.

      Wie ich sagte: Es sollte nur einen Standard geben, und zwar RDFa (Lite). Microdata stirbt hoffentlich eher früher als später. Ich würde es nicht verwenden, sondern eben RDFa Lite.

      Manu Sporny: The Downward Spiral of Microdata

      LLAP 🖖

      --
      Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
      1. @@Gunnar Bittersmann

        “Wait a minute…”
        sondern eben RDFa Lite.

        Schon etwas seltsam, sowohl auf das Video meines Talk zu verlinken als auch auf ein Posting, das sagt, dass es dieses Video nicht gäbe.

        Als Ergänzung sollte in dem alten Posting das Video verlinkt werden. Kann ich aber nicht machen. Wozu habe das Recht, Antworten zu editieren, wenn ich nicht das Recht habe, Antworten zu editieren?

        LLAP 🖖

        --
        Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        1. Hallo Gunnar Bittersmann,

          Wozu habe das Recht, Antworten zu editieren, wenn ich nicht das Recht habe, Antworten zu editieren?

          Eigentlich sollte es gehen.

          Bis demnächst
          Matthias

          --
          Signaturen sind bloed (Steel) und Markdown ist mächtig.
          1. @@Matthias Apsel

            Wozu habe das Recht, Antworten zu editieren, wenn ich nicht das Recht habe, Antworten zu editieren?

            Eigentlich sollte es gehen.

            Eigentlich. Geht aber nicht.

            Screenshot der möglichen Aktionen

            LLAP 🖖

            --
            Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
            1. Hallo Gunnar Bittersmann,

              Wozu habe das Recht, Antworten zu editieren, wenn ich nicht das Recht habe, Antworten zu editieren?

              Eigentlich sollte es gehen.

              Eigentlich. Geht aber nicht.

              Vielleicht hat Christian diese Änderungen noch nicht ins Livesystem übernommen.

              Bis demnächst
              Matthias

              --
              Signaturen sind bloed (Steel) und Markdown ist mächtig.
            2. Hallo Gunnar,

              Eigentlich. Geht aber nicht.

              Zu wenig Informationen. Welches Posting willst du editieren, dass du nicht editieren kannst? Auch mit Badge kannst du nicht wild herum editieren. Vom Editieren ausgeschlossen sind:

              • Postings, die bereits Antworten haben (Konfigurations-Einstellung)
              • Postings, die archiviert wurden
              • Postings, die auf No Answer gesetzt wurden

              LG,
              CK

              1. @@Christian Kruse

                Zu wenig Informationen.

                ? Alles da.

                Welches Posting willst du editieren, dass du nicht editieren kannst?

                Das in meinem Posting verlinkte.

                Auch mit Badge kannst du nicht wild herum editieren.

                Dann ist das Badge sinnfrei.

                Vom Editieren ausgeschlossen sind:

                • Postings, die bereits Antworten haben (Konfigurations-Einstellung)

                Hat das betreffende Posting zufälligerweise nicht. Aber selbst wenn, sollte das kein Grund sein.

                • Postings, die archiviert wurden

                Ja, das ist es. Das Archiv kann an dieser Stelle ein Update vertragen.

                Auch an vielen anderen Stellen muss das Archiv noch berichtigt werden: wo die Umwandlung fehlgeschlagen ist und Code falsch ausgezeichnet ist, was die Postings verstümmelt.

                Wozu ist denn das Badge da, wenn nicht dazu, dass dessen Inhaber das Recht hat, diese Berichtigungen vorzunehmen?

                LLAP 🖖

                --
                Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
        2. Ich nicht verstehe was du habe gemeint.

          --
          Ist diese Antwort freundlich? Dann könnte Sie dennoch nützlich sein.