Skip to content

Fix virtualized QuickGrid ARIA row count - #70022

Draft
dariatiurina wants to merge 1 commit into
dotnet:mainfrom
dariatiurina:dariatiurina-quickgrid-virtualized-row-count
Draft

dariatiurina wants to merge 1 commit into
dotnet:mainfrom
dariatiurina:dariatiurina-quickgrid-virtualized-row-count

Conversation

@dariatiurina

@dariatiurina dariatiurina commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Fix virtualized QuickGrid ARIA row count

Keep virtualized QuickGrid's ARIA row count in sync with provider results.

Description

A virtualized QuickGrid updates its stored total when its provider completes, but Virtualize only rerenders its own rows. The ancestor table's aria-rowcount can therefore remain at 1 even after data rows load.

Request a QuickGrid render only when the conceptual body row count changes. Existing header, pagination and cancellation conventions remain unchanged. Add one Selenium regression using the existing virtualized test component with its provider-side StateHasChanged disabled, so an incidental ancestor render cannot mask the defect.

Validation performed locally with the checkout SDK activated:

  • dotnet build src\Components\test\E2ETest\Microsoft.AspNetCore.Components.E2ETests.csproj --no-restore -v:q -p:UseIisNativeAssets=false - passed without and with the fix, zero warnings/errors.
  • dotnet test src\Components\test\E2ETest\Microsoft.AspNetCore.Components.E2ETests.csproj --no-build --filter 'FullyQualifiedName~QuickGridTest.VirtualizedRowCountIncludesHeaderAfterLoading' --logger 'console;verbosity=normal' - failed as expected without the fix: expected row count 101, actual 1, after the first data row appeared.
  • dotnet test src\Components\test\E2ETest\Microsoft.AspNetCore.Components.E2ETests.csproj --no-build --filter 'FullyQualifiedName~QuickGridTest' --logger 'console;verbosity=normal' - passed with the fix, 13/13 including the identical new regression.

The retained regression covers initial provider-driven virtualization on the BasicTestApp WebAssembly path; it does not assert screen-reader speech.

Fixes https://github.com/dotnet/aspnetcore-scenario-tests/issues/159

Render QuickGrid when its virtualized provider changes the conceptual row count, keeping the table attribute in sync with loaded rows.

Add one Selenium regression using the existing virtualized test component without its provider-side render notification.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the area-blazor Includes: Blazor, Razor Components label Oct 23, 2026
@dariatiurina dariatiurina self-assigned this Oct 23, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-blazor Includes: Blazor, Razor Components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant