 <p>For the disabled attribute I think it's the presence of the attribute that disables the element regardless of its value.</p> <p>It guess one of the reasons could be to allow more values than just yes/no in the future. For instance, instead of visible=true/false, you can have visibility=visible/hidden/collapsed</p>