Day-02
β Web Accessibility - important only
Semantic Tags in Html

π aria-label : give name for screen reader, not visible on screen
<button aria-label="trash-button">Move to trash</button>π aria-labelledby : use another element as name
<h2 id="sectionTitle">Profile Info</h2>
<div aria-labelledby="sectionTitle">
user info...
</div>π aria-hidden : hide from screen reader
<span aria-hidden="true">π₯</span>π aria-live : notify screen reader on content change
<div aria-live="polite">You have 3 new messages</div>π aria-expanded : show open/close state
<button aria-expanded="false">Menu</button>π aria-controls : indicate controlled element
<button aria-controls="menuList" aria-expanded="false">Menu</button>
<ul id="menuList"> ... </ul>π aria-current : indicate current page in navigation
<a href="/home" aria-current="page">Home</a>π role : describe element type (not aria-role)
<button aria-label="Submit form">Submit</button>
<h1 role="heading">Heading</h1>
<nav role="navigation">Navigation</nav>β Not Found page in next.js
π Create `not-found.js` page at root level for custom error page
π Separate not-found page only works in dynamic routes
π Use notFound() to trigger 404 programmatically
β Route Grouping and Private Routes
π Mainly used to organize routes
π Create group routes folder wrapped with ( )
π Example: about and services routes in name - Dhiraj Arya
π Private routes mean app routes based on file & folder, not dynamic data
π To create private routes, prefix folder name with _underscore
π If needed, use %5F instead of _ in route paths