mermshaus: Inclusives Design: Das „current page“-Problem

Beitrag lesen

problematische Seite

@Gunnar Bittersmann @Julius @Christian Kruse

Der Syntax-Highlighter für PHP (~~~ php) startet im PHP-Modus, während eine komplette PHP-Datei auf der Festplatte sozusagen immer im HTML-Modus startet (und mit <?php am Dateibeginn in den PHP-Modus umgeschaltet wird).

Das kann der Syntax-Highlighter aber nicht wirklich anders handhaben, weil sonst bei jedem kurzen Codeausschnitt…

for ($i = 1; $i <= 24; $i++) {
    echo $i, "<br>\n";
}

…ein einleitendes <?php hinzugefügt werden müsste. Das ist nicht praktikabel.

Das Beispiel aus Gunnars Post könnte also um ein einleitendes ?> ergänzt werden, um in den HTML-Modus zu schalten.

?>
  <a 
<?php if ($Menüpunkt != $aktuelleSeite): ?>
    href="http://example.net/stairway/to/heaven"
<?php else: ?>
    tabindex="0"
<?php endif; ?>
  >
    Stairway to heaven
  </a>

Das ergibt inhaltlich aber natürlich wenig Sinn.

Alternativ könnte man höchstens im Syntax-Highlighter so eine Logik haben: „Wenn die Eingabe irgendwo nicht direkt am Anfang noch <?php … ?>-Sequenzen enthält, dann gehe davon aus, dass die Eingabe im HTML-Modus beginnt.“ Das scheint beispielsweise der Highlighter von vBulletin zu machen. Das ist oft „richtig genug“:

Es kann aber genauso danebenliegen:

(Beziehungsweise ist es letztlich nicht entscheidbar. Das $x= usw. könnte ja auch tatsächlich als HTML-Ausgabe gemeint sein.)

Mir ist der Ansatz des Highlighters hier im Forum, den Start-Modus nicht erraten zu wollen, deshalb grundsätzlich lieber.

Die sauberste Lösung wäre es wohl, einen zweiten Code-Tag für PHP-Highlighting hinzuzufügen, der im HTML-Modus beginnt, oder der ~~~ php-Syntax einen Parameter hinzuzufügen. So im Sinne von: ~~~ php startinline=false (was aber so nicht funktioniert).

Kann auch gut sein, dass es so was auch hier im Forum bereits gibt.

2 52

Inclusives Design: Das „current page“-Problem

marctrix
  • barrierefreiheit
  1. 2
    Christian Kruse
    1. 0
      marctrix
      1. 0
        Matthias Apsel
        • barrierefreiheit
        • selfhtml
  2. 1
    MrMurphy1
    1. 0
      marctrix
  3. 0
    Auge
    1. 0
      marctrix
      1. 0
        Auge
        1. 1
          Tabellenkalk
          • hardware
          1. 0
            marctrix
    2. 0
      mermshaus
      1. 0
        marctrix
        1. 1
          mermshaus
          1. 0
            marctrix
  4. 0
    pl
    1. 0
      marctrix
      1. 0
        pl
        1. 0
          marctrix
      2. 0
        Gunnar Bittersmann
        1. 0
          marctrix
          1. 0
            Gunnar Bittersmann
            1. 0
              Julius
              • kontextwechsel
              • zu diesem forum
              1. 0
                mermshaus
                1. 0
                  Julius
                  1. 0
                    mermshaus
                  2. 0
                    Gunnar Bittersmann
      3. 0
        encoder
        1. 0
          marctrix
          1. 0
            encoder
            1. 0
              marctrix
              1. 0
                Auge
                1. 0
                  marctrix
                  1. 0
                    Auge
                    1. 0
                      marctrix
            2. 0
              Auge
          2. 0
            mermshaus
            1. 0
              marctrix
              1. 0
                mermshaus
  5. 0
    Julius
    1. 0
      Matthias Apsel
      1. 0
        Julius
      2. 0
        marctrix
        1. 0
          Matthias Apsel
          1. 0
            marctrix
            1. 0
              JürgenB
              1. 1
                marctrix
                1. 1
                  JürgenB
                  1. 0
                    marctrix
            2. 0
              marctrix
            3. 0
              Gunnar Bittersmann
    2. 0
      marctrix