Arriving without the backstory
Someone may open an article from a message or a product from search. They have never seen the home page. A small trail above the heading gives context: Home → Journal → Article. Its job is not to fill a spare line. It offers a route to a broader collection without asking the visitor to decode the main menu.
Hierarchy is not browsing history
Breadcrumbs describe parent pages, not the accidental sequence of clicks that brought someone here. Search → Contact → Product is a history, not a useful structural address. The browser already has a Back button. Establish the site structure before drawing arrows. When a page belongs to several collections, choose a clear primary trail and show related collections separately.
Every step needs a destination
Do not invent an empty category to make the trail look substantial. Each parent label should describe the page it opens. The current page may simply be text; a link back to the same page rarely adds value. The principles of descriptive links matter here too. A short, accurate label is more useful than a clever but unexplained category name.
Accessible without extra noise
W3C describes breadcrumbs as a navigation landmark with an accessible name. If the current item is a link, mark it with aria-current="page"; that attribute is optional when the item is not a link. Separators should not become extra keyboard stops. Check visible focus, reading order and whether this navigation can be distinguished from the main menu.
Keep meaning on a narrow screen
Shrinking every word into tiny type is not a responsive strategy. Allow considered wrapping or create a compact route to the parent section. Avoid hiding all context behind an unexplained ellipsis. Test long titles, enlarged text and each translation. A polished mockup containing three short labels does not reveal the real limits of the component.
Markup is only part of the work
BreadcrumbList can describe hierarchy for search engines; it cannot promise a particular search appearance or ranking. Keep it consistent with the real pages and route. Before release, open a deep URL directly, follow every parent link and check that the language does not change unexpectedly. Good breadcrumbs quietly answer two questions: where am I, and what can I explore one level up?
