update button semantics