I have read that the `role` attribute was added to [Bootstrap](http://getbootstrap.com/) for accessibility, and I would like to know how `<form role="form">` helps accessibility. See <http://getbootstrap.com/css/#forms-example> for an example of this specific usage.

*I [searched Bootstrap's repo for "role"](https://github.com/twbs/bootstrap/search?q=role) to no avail.*

My issue is that the information seems redundant. The notion that the element is a *form* is already expressed by the HTML tag itself (`<form>`), so what does it help if we also add that the element is playing the `role` of `form`? It would make sense to add `role="..."` if `role` was going to be different than `form` (I don't know what - but let's pretend); as it stands (especially without concrete reasoning / use case examples), it is puzzling at best.
['https://Stackoverflow.com/questions/21922305', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/664833/']
In fact, the ARIA 1.1 W3C recommendation states clearly one should not change the host language semantics in section 1.4 ([source](https://www.w3.org/TR/wai-aria-1.1/#co-evolution)):

> 
> "It is not appropriate to create objects with style and script when
>  the host language provides a semantic element for that type of object.
>  While WAI-ARIA can improve the accessibility of these objects,
>  accessibility is best provided by allowing the user agent to handle
>  the object natively."
> 
> 
> 

So, writing `<form role='form'>` is not only redundant but against the recommendation.
Semantically speaking, a form by default is, well, a form. However, not all accessibility applications(screen readers, etc) are designed the same and some can use elements (even the form element) with the `role=form` attribute differently even if they understand that the parent form element will have the same semantic meaning with or without the `role=form` attribute.