Performance: Component-based framework philosophy
This affects how quickly the page loads and updates by controlling how UI parts are built and reused.
<template id="header-template"><div>Header</div></template><script>const template = document.getElementById('header-template'); document.body.appendChild(template.content.cloneNode(true)); document.body.appendChild(template.content.cloneNode(true));</script>
<div>Header</div><div>Header</div><div>Header</div>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Repeated HTML blocks | High (many nodes) | Multiple reflows | High paint cost | [X] Bad |
| Component reuse with templates | Low (fewer nodes) | Single reflow | Low paint cost | [OK] Good |
btn class plus a style class like btn-primary.<button class="btn btn-primary">Click me</button> uses <button> with btn btn-primary, which is correct. Others use wrong classes or tags.<div class="alert alert-success" role="alert">Success!</div>
alert and alert-success create a styled alert box with green color.alert-success means a green alert box showing success message.<nav class="navbar navbar-expand-lg bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Brand</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
</ul>
</div>
</div>
</nav>data-bs-toggle and data-bs-target, but lacks aria-controls which is needed for accessibility.aria-controls is missing on the button.Pass the test and this pattern moves unknown