I found that in Google+ Project\'s page that buttons are all made from divs like:
I\'d like to
It's just semantics.
It is recommended that you use native HTML buttons using If you are building custom controls, they should work just like a button. If you click the element, it should trigger a response. For example, This response isn't changing the text of the button i.e. custom control. If it is, then it is not a button. These custom controls acting as buttons should be focusable by tabbing through a keyboard and also should be focusable programmatically for screen-readers. The custom control should implement The standard syntax for a custom control with the tag. However, if you are having custom controls using
or
role='button'
is highly recommended.
onclick
as well as onKeyDown
events. Buttons can be activated through spacebar. Hence, if you are adding the role to a custom control, you need to handle these events yourself. Else, the semantic loses its meaning. A screen-reader user will try to activate the button using spacebar, but cannot.role='button'
is