A11yDefaults.Mvc 1.0.0

dotnet add package A11yDefaults.Mvc --version 1.0.0
                    
NuGet\Install-Package A11yDefaults.Mvc -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="A11yDefaults.Mvc" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="A11yDefaults.Mvc" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="A11yDefaults.Mvc" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add A11yDefaults.Mvc --version 1.0.0
                    
#r "nuget: A11yDefaults.Mvc, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package A11yDefaults.Mvc@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=A11yDefaults.Mvc&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=A11yDefaults.Mvc&version=1.0.0
                    
Install as a Cake Tool

A11yDefaults.Mvc

A11yDefaults.Mvc is an ASP.NET Core MVC package that nudges everyday UI toward accessible defaults without replacing native HTML.

What it does

  • Adds minimum target-size classes to <button> and button-like <input> elements.
  • Makes target="_blank" links safer and clearer by adding rel="noopener" and a user-facing hint.
  • Lets you opt specific anchors into minimum or enhanced target sizes.
  • Keeps the authoring model native: you still write <a>, <button>, and <input>.

Quick start

Install the package:

dotnet add package A11yDefaults.Mvc

Register the options:

builder.Services.AddA11yDefaults(options =>
{
    options.ButtonTargetSize = A11yTargetSize.Minimum;
});

Enable the Tag Helpers:

@addTagHelper *, A11yDefaults.Mvc

Load the bundled CSS:

<link rel="stylesheet"
      href="~/_content/A11yDefaults.Mvc/a11y-defaults.css"
      asp-append-version="true" />

Then use native elements:

<button class="icon-button" aria-label="Refresh"></button>

<a href="https://www.w3.org/WAI/"
   target="_blank">
    W3C WAI guidance
</a>

<a href="/reports/q2.pdf"
   download
   a11y-hit-target="Enhanced">
    Download report
</a>

WCAG defaults baked in

  • WCAG 2.2 SC 2.5.8 Target Size (Minimum): 24 by 24 CSS pixels for AA.
  • WCAG 2.2 SC 2.5.5 Target Size (Enhanced): 44 by 44 CSS pixels for AAA.
  • WAI guidance for links that open a new browsing context.

This package is a useful baseline, not a substitute for testing real pages with keyboard, zoom, screen readers, and touch.

Package contents

  • Tag Helpers for anchors, buttons, and button-like inputs.
  • Static web asset stylesheet at _content/A11yDefaults.Mvc/a11y-defaults.css.
  • Configurable class names and hint text through A11yDefaultsOptions.

License

A11yDefaults.Mvc is available under the MIT License.

Product 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 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

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 150 5/8/2026

Initial release with accessible target-size defaults for anchors, buttons, and button-like inputs; safer target=_blank links; contextual link hints; and bundled CSS utilities.