HTML landmarks
HTML landmarks are used to categorize and group content on a web page for better accessibility and SEO. Sectioning elements 
HTML5 included the addition of the following content sectioning elements, which inherit default landmark roles:

Landmark roles 
The role attribute is used to define an element's role on a page. When sectioning elements were introduced, the role attribute became used less for landmarking. This is because roles were applied by default to most sectioning elements, therefore, they were more widely used and accepted for their simplicity. The role attribute is not only used for assigning roles to content sections. The attribute can also be used to assign roles to many other elements, although it is used less nowadays due to new semantic HTML elements. Examples 
<div role="banner">
    <h1>Hello, world!</h1>
</div>The code above is the same as the following more widely accepted version:<header>
    <h1>Hello, world!</h1>
</header>

Misuse 
Following the addition of sectioning elements in HTML5, there was confusion regarding whether role attributes were needed for sectioning elements. It is in fact redundant to give sectioning elements the role attribute. Additionally, you should not try to alter sectioning elements' default roles. Examples of misuse 
The role of main on the <main> element is useless, as it already inherits that role as its default landmark role:<main role="main">
    <p>Hello world!</p>
</main>Applying the form role to <header> is semantically improper, because it overrides <header>'s the default role of banner:<header role="form">
    <!--Some HTML code here-->
</header>

See also 

 Semantic Web
 Semantic HTML
 Web accessibility
 HTML element
 HTML attribute

References 

Web design
Web accessibility
HTML tags
HTML5
HTML