What you wrote, and what the DOM reports

Each line shows getAttribute(), the text in the markup, then the DOM property the browser derives from it.

Boolean: disabled

Presence is the value. Any value at all, even "false", means true.

hidden, and hidden="until-found"

The first paragraph below is hidden, though its value says "false". The second is hidden until found: press Ctrl+F (Command+F on a Mac) and search for pangolin. In browsers that support it, the paragraph appears, the attribute is removed, and a beforematch event fires.

Enumerated: type and dir

The value must be one of a fixed set of keywords, in any case. A missing or unknown value falls back to a default the specification names for that attribute.

contenteditable and spellcheck

Choose a value, then click into the paragraph and type. Any invalid value means inherit: the element is editable only if its parent is.

translate

Use the browser's Translate this page command. Text marked translate="no" is left as written.

An attribute the browser does not know

The parser keeps it: getAttribute() finds it and CSS can select it. No DOM property is created for it, and nothing happens because of it.