BlazorRamp.Tabs
1.0.0
Prefix Reserved
dotnet add package BlazorRamp.Tabs --version 1.0.0
NuGet\Install-Package BlazorRamp.Tabs -Version 1.0.0
<PackageReference Include="BlazorRamp.Tabs" Version="1.0.0" />
<PackageVersion Include="BlazorRamp.Tabs" Version="1.0.0" />
<PackageReference Include="BlazorRamp.Tabs" />
paket add BlazorRamp.Tabs --version 1.0.0
#r "nuget: BlazorRamp.Tabs, 1.0.0"
#:package BlazorRamp.Tabs@1.0.0
#addin nuget:?package=BlazorRamp.Tabs&version=1.0.0
#tool nuget:?package=BlazorRamp.Tabs&version=1.0.0
Blazor Ramp - Tabs
The Blazor Ramp project aims to provide a suite of modular, accessibility-first Blazor components.
Requirements
It is a requirement that the Blazor Ramp Core script, Live Region Service, and associated Announcement History component are added alongside this component’s specific requirements (a stylesheet reference), as outlined below.
Note: Every package includes a reference to the Blazor Ramp Core project (where the aforementioned items reside) so there is no need to install this package separately (but it can be if you only require the Live Regions Service and Announcement History component).
The full documentation is available at: https://docs.blazorramp.uk
Installation
- Add the BlazorRamp.Tabs nuget package to your project using the Nuget Package Manager or the dotnet CLI.
dotnet add package BlazorRamp.Tabs
- Add the following Core and Tabs references to the
<head>section of your application:
- Blazor Web App / Blazor Server → App.razor
- Blazor WebAssembly → wwwroot/index.html
<head>
<link rel="stylesheet" href="_content/BlazorRamp.Core/assets/css/core.min.css" />
<link rel="stylesheet" href="_content/BlazorRamp.Tabs/assets/css/tabs.min.css" />
</head>
- Add the following Blazor Ramp Core live region script after Blazors script, as follows:
- Blazor Web App / Blazor Server → App.razor
- Blazor WebAssembly → wwwroot/index.html
<script src="_framework/blazor.web.js"></script>
<script type="module" src="_content/BlazorRamp.Core/assets/js/core-live-region.js"></script>
- Register BlazorRamp services in the Program.cs file (Both server and client if using Server and WebAssembly interactive rendermode)
Add the following line to the service registration section:
@using BlazorRamp.Core.Common.Extensions;
builder.Services.AddBlazorRampCore();
- Add the
<AnnouncementHistory />component with your parameter values above the Router component contained in either:
- Blazor Web App / Blazor Server → Routes.razor
- Blazor WebAssembly → App.razor
<AnnouncementHistory RefreshText="Refresh" ClearCloseText="Clear & Close" CloseText="Close" NoDataText="No announcements"
Title="Recent Announcements" TriggerVisible="true" TriggerText="Alerts" />
<Router AppAssembly . . .
Using the Tabs component
Add the Tabs component to your page and set the desired parameters. Each Tab can have an associated icon, the Tabs component can be set to autoactivate the Tab Panel on focus or use manual activation whereby keyboard users would set focus on the tab using the enter or space key to activate it.
The example belwo is taken from the test site: https://blazorramp.uk
<Tabs @bind-ActiveTabIndex="_tabAutoindex" AriaLabel="Automatic Activation" AutoActivatePanel="true">
<Tab TabTitle="Food" SvgIcon="--svg-food-icon">
<TabPanelContent>
<h3>Recipes</h3>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet sem vulputate,
interdum justo vitae, sagittis nulla. Ut lectus augue, consectetur ut massa id,tristique
luctus eros. Donec tempus augue velit, vel vehicula tellus consequat vel. Integer tristique
sem ac nisi sodales placerat. Integer nulla ex, tincidunt ut eleifend ut, vestibulum vel leo.
Proin diam urna, finibus porttitor purus nec, tristique varius justo. Nunc vel dui sed dui
elementum facilisis. Curabitur ac fermentum urna. Integer vestibulum fermentum massa, quis
auctor elit viverra eget.
</p>
</TabPanelContent>
</Tab>
<Tab TabTitle="Travel" SvgIcon="--svg-airplane-icon">
<TabPanelContent>
<h3>Itinerary</h3>
<p>
Nulla eu est lacus. Mauris sodales tortor in sem viverra porta. Nam in dapibus massa. Vivamus
et augue quis mauris luctus pretium eu eu dolor. Maecenas gravida nisl non ante facilisis,
pulvinar vestibulum nibh sagittis. Pellentesque mollis sem at arcu mattis, id molestie augue
cursus. Pellentesque dolor urna, ultricies quis iaculis ac, rutrum luctus nulla. Integer et
consequat erat. Sed eget metus in est pulvinar ultrices at nec lorem. Sed aliquam massa eget
dui aliquet ullamcorper. Sed elit nisi, maximus et erat molestie, bibendum rutrum diam.
Phasellus cursus eleifend porta.
</p>
</TabPanelContent>
</Tab>
<Tab TabTitle="Exercise" SvgIcon="--svg-runner-icon">
<TabPanelContent>
<h3>Workouts</h3>
<p>
Mauris imperdiet nisi nec pulvinar porta. Sed semper viverra venenatis. Sed accumsan, erat
condimentum ornare malesuada, erat mauris tincidunt enim, non interdum quam sem ac velit.
Nunc et enim lorem. Maecenas gravida tortor eget ligula efficitur ullamcorper. Cras ut nisi
elementum, maximus ante eu, vestibulum nibh. Vestibulum nec iaculis elit, sit amet sagittis ex.
</p>
</TabPanelContent>
</Tab>
</Tabs>
Note: For the full documentation please see https://docs.blazorramp.uk
Using the Live Region Service (directly)
Inject the ILiveRegionService into your desired component or class and make the appropriate calls by passing the ILiveRegionSerivce.MakeAnnouncement method an announcement object.
@inject ILiveRegionService _liveRegionService
@code{
private async Task MakeAnnouncement()
{
var announcement = new Announcement("The site is now using a dark coloured theme.", AnnouncementType.Info, "Dark Theme Switch", LiveRegionType.Polite);
await _liveRegionService.MakeAnnouncement(announcement);
}
}
Note: Where possible make announcements using LiveRegionType.Polite and keep your messages brief and to the point. Long verbose messages are annoying and just slow the user down.
The announcement object has the following constructor parameters:
- Message - a string value containing the message to be announced.
- AnnouncementType - an enumerated type describing the type category of announcement (for future use) the default is
AnnoucementType.Info, - AnnouncementTrigger - an optional string value with the user friendly display name of the element that triggered the announcement such as 'Save Button'
- LiveRegionType - the urgency of the announcement. Polite announcements wait for the screen reader to finish current speech before announcing where as assertive announcements interrupt the screen reader immediately.
Full documentation available at: https://docs.blazorramp.uk
Screen Reader Browser Combination Tests:
- On Windows 11 - JAWS, NVDA and Narrator each paired with Chrome, Edge and Firefox.
- On macOS (Sequoia) VoiceOver was paired with Safari
- On iPhone, VoiceOver was paired with Safari
- On Android, TalkBack was paired with Chrome
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- BlazorRamp.Core (>= 1.0.7)
- Microsoft.AspNetCore.Components.Web (>= 8.0.24)
-
net8.0
- BlazorRamp.Core (>= 1.0.7)
- Microsoft.AspNetCore.Components.Web (>= 8.0.24)
-
net9.0
- BlazorRamp.Core (>= 1.0.7)
- Microsoft.AspNetCore.Components.Web (>= 8.0.24)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 84 | 3/10/2026 |
Initial release of the Blazor Ramp Tabs component