Tabs

The ArcadiaTabs component provides a tabbed interface where each tab panel is an ArcadiaTabPanel.

Basic Usage

<ArcadiaTabs @bind-ActiveIndex="activeTab">
    <ArcadiaTabPanel Title="Overview">
        <p>Overview content.</p>
    </ArcadiaTabPanel>
    <ArcadiaTabPanel Title="Details" Icon="info">
        <p>Details content.</p>
    </ArcadiaTabPanel>
    <ArcadiaTabPanel Title="Settings" Disabled="true">
        <p>Settings content.</p>
    </ArcadiaTabPanel>
</ArcadiaTabs>

ArcadiaTabs Parameters

ParameterTypeDefaultDescription
ActiveIndexint0Index of the currently active tab. Supports two-way binding.
ChildContentRenderFragment?nullThe tab panel elements.
Classstring?nullAdditional CSS class names.

ArcadiaTabs Events

EventTypeDescription
ActiveIndexChangedEventCallback<int>Fired when the active tab index changes.

ArcadiaTabPanel Parameters

ParameterTypeDefaultDescription
Titlestring""Tab header text.
Iconstring?nullOptional icon CSS class or name for the tab header.
DisabledboolfalseWhether this tab is disabled.
ChildContentRenderFragment?nullPanel body content.

Accessibility

  • Tab list uses role="tablist" with aria-label="Tabs".
  • Tab buttons use role="tab" with aria-selected, aria-controls, and proper tabindex (roving tabindex pattern).
  • Tab panels use role="tabpanel" with aria-labelledby.
  • Keyboard navigation: Arrow Left/Right to move between tabs, skipping disabled tabs.
  • Disabled tabs set the disabled attribute on the button.