code: def _handle_attribute(self, start):
          
          name = quotes = None
          self._push()
          while self._tokens:
              token = self._tokens.pop()
              if isinstance(token, tokens.TagAttrEquals):
                  name = self._pop()
                  self._push()
              elif isinstance(token, tokens.TagAttrQuote):
                  quotes = token.char
              elif isinstance(token, (tokens.TagAttrStart, tokens.TagCloseOpen,
                                      tokens.TagCloseSelfclose)):
                  self._tokens.append(token)
                  if name:
                      value = self._pop()
                  else:
                      name, value = self._pop(), None
                  return Attribute(name, value, quotes, start.pad_first,
                                   start.pad_before_eq, start.pad_after_eq)
              else:
                  self._write(self._handle_token(token))
          raise ParserError("_handle_attribute() missed a close token")
docs: Handle a case where a tag attribute is at the head of the tokens.