Rolf B: Frage betreffs Aria-Label oder Aria Alert

Beitrag lesen

Hallo Jörg,

  1. Was ist aria-alert, welche Spec definiert das? Ich finde es weder in WAI-ARIA 1.0 noch 1.1. Es gibt die alert-Rolle, die dazu führt, dass ein Screenreader aktiv wird wenn Du das Element einblendest.

  2. Dein JavaScript hat nun noch weitere Kritikpunkte bekommen. Hast Du meinen Kommentar von 17:04 Uhr noch nicht entdeckt? Oder hältst Du ihn für Unsinn?

  // Deins (ab IE 9 übrigens. getElementsByClassName gibt's im IE8 noch nicht)
  function allSelected( className ) {
    var flag = true;
		var ar = document.getElementsByClassName( className );
		for ( var i = 0; i < ar.length; i++) {
		  if ( false == ar[i].checked ) {
			  var flag = false;
				i = 1 + ar.length;
		  }
		}
		return flag;
	}

  // Weniger umständlich
  // (Ausstieg aus einer Schleife ist in kleinen Methoden durchaus legitim)
  function allSelected( className ) {
		var ar = document.getElementsByClassName( className );
		for ( var i = 0; i < ar.length; i++) {
		  if ( !ar[i].checked ) return false;
		}
		return true;
	}

  // Kompakte Lösung (auch IE9, wegen :checked und :not() )
  function allSelected( className ) {
    return document.querySelector("."+className+":not(:checked)") == null
  }
  // Und eigentlich sollte man das nicht über's Dokument machen, sondern über den Container, 
  // der die Tabelle enthält
  1. Zwei Klassen zu verwenden (Activated/notActivated) ist ebenfalls umständlich. Verwende nur eine, benutze :not(.activated) statt .notActivated.

  2. Dass es unnötig umständlich ist, den Eventhandler umzuregistrieren, hatte ich vorher schon erwähnt.

  3. Es ist ebenso umständlich, einen change Handler auf jede einzelne Checkbox zu legen. Registriere einen einzigen Change-Handler auf die Table und prüfe, ob das event.target ein input[type=checkbox].MultiSelectors ist. Entweder ausprogrammiert über tagName, type und classList, oder matches-Methode in Element.prototype (und einem kleinen Polyfill, weil die Methode in älteren Browsern matchesSelector heißt und ggf. Vendor-Präfixe hat)

  4. Übrigens fände ich row-selector als Klassenname eine viel bessere Wahl als MultiSelectors. Aber das mag Geschmackssache sein.

Rolf

--
sumpsi - posui - clusi
0 47

Verstecken von HTML Formularen für das einfache bedinen administrativer Funktionen

MB
  • formulare
  • html
  • php
  1. 0
    Matthias Apsel
    1. 0
      pl
      1. 1
        Matthias Apsel
        • sonstiges
      2. 0
        dedlfix
        1. -2
          pl
  2. -1
    pl
  3. 0

    Formular über die gesamte Tabelle hinweg

    ursus contionabundo
    1. 0
      pl
      1. 0
        ursus contionabundo
        1. 0
          pl
          1. 1
            ursus contionabundo
            1. 0
              pl
              1. 1
                ursus contionabundo
                1. 0
                  pl
              2. 0
                pl
      2. 0
        dedlfix
        1. 0
          pl
          1. 0
            dedlfix
            1. 0
              pl
              1. 0
                dedlfix
                1. 0
                  pl
                  1. 0
                    dedlfix
                    1. 0
                      pl
    2. 0
      Rolf B
      1. 0
        Gunnar Bittersmann
        • html
        • javascript
    3. 0

      Frage betreffs Aria-Label oder Aria Alert

      ursus contionabundo
      1. 0
        Rolf B
        1. 0
          ursus contionabundo
  4. 0
    MB
    1. -1
      pl
      1. 0
        dedlfix
      2. 0
        pl
        1. 0
          dedlfix
        2. 0
          pl
      3. 0
        pl
    2. 1
      dedlfix
      1. 1
        dedlfix
        1. 0
          MB
    3. 3
      Rolf B
      1. 0
        pl
        1. 0
          Rolf B
          1. 0
            pl
            1. 0
              Gunnar Bittersmann
            2. 0
              pl
              1. 0
                Gunnar Bittersmann
                • formulare
                • progressive enhancement
                1. 0
                  pl