Hallo Felix,
Ja, Attributwerte sind Strings, nichtleere Strings sind truthy und deswegen ist der Vergleich value==true
immer wahr, wenn im Attribut etwas drin steht.
Dass ist sicherlich nicht der Sinn der Sache.
Die Zuweisung von booleschen Werten an das Attribut dürfte in einen String konvertiert werden, aber da bin ich nicht 100% sicher, sowas mache ich nie.
Das darf man nicht mit Propertys verwechseln, die Attributwerte widerspiegeln. Zu einem booleschen HTML Attribut wie checked
gibt es ein Property checked
im DOM, das true oder false ist. Allerdings haben boolesche HTML Attribute auch nicht den Wert true
oder false
, sondern sind vorhanden oder nicht. Die Aria-Attribute gehen einen anderen Weg, vielleicht, um false
und "nicht angegeben" besser unterscheiden zu können.
Rolf
sumpsi - posui - obstruxi