HTML5 tags include a number of valueless attributes, and the array_to_attr function from base.php does not seem to handle them appropriately. For example, the script tag has the attributes async and defer, neither of which require a value to be set.
At present the only way to pass these attributes is in the form attr="attr", which is valid in XHTML but against HTML5. It seems as if the array_to_attr function could fairly easily be made to handle these by using a value of null (it currently ignores keys in the passed array with a null value).
I'm definitely willing to create a pull request with this but wanted to check first to see if there's a specific design reason it functions this way?