Breadcrumb

    Breadcrumb provides contextual information about page hierarchy.

    
    import { Breadcrumb } from 'primeng/breadcrumb';
    
    

    Breadcrumb provides contextual information about page hierarchy.

    
    <p-breadcrumb class="max-w-full" [model]="items" [home]="home" />
    
    

    Custom content can be placed inside the items using the item template. The divider between the items has its own separator template.

    
    <p-breadcrumb class="max-w-full" [model]="items" [home]="home">
        <ng-template #item let-item>
            <a class="cursor-pointer" [routerLink]="item.url">
                <i [class]="item.icon"></i>
            </a>
        </ng-template>
        <ng-template #separator> / </ng-template>
    </p-breadcrumb>
    
    

    Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.

    
    <p-breadcrumb class="max-w-full" [model]="items">
        <ng-template #item let-item>
            <ng-container *ngIf="item.route; else elseBlock">
                <a [routerLink]="item.route" class="p-breadcrumb-item-link">
                    <span [ngClass]="[item.icon ? item.icon : '', 'text-color']"></span>
                    <span class="text-primary font-semibold">{{ item.label }}</span>
                </a>
            </ng-container>
            <ng-template #elseBlock>
                <a [href]="item.url">
                    <span class="text-color">{{ item.label }}</span>
                </a>
            </ng-template>
        </ng-template>
    </p-breadcrumb>
    
    

    Screen Reader

    Breadcrumb uses the nav element and since any attribute is passed to the root implicitly aria-labelledby or aria-label can be used to describe the component. Inside an ordered list is used where the list item separators have aria-hidden to be able to ignored by the screen readers. If the last link represents the current route, aria-current is added with "page" as the value.

    Keyboard Support

    No special keyboard interaction is needed, all menuitems are focusable based on the page tab sequence.