Sidebar marked up as aside
Nobody has claimed this yet.
- Dominant language
- SCSS
- Stars
- 569
- Forks
- 72
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 5
Description
Describe the problem
Sidebars created using both layout_sidebar() and page_sidebar() are marked up as aside.
OSU accessibility staff identified use cases for different landmarks:
- Main: The primary content of the page. Excludes sidebars.
- Form: Sections that contain form inputs and elements. Forms that are used for search should have a role=search and not a form role.
- Aside: Sidebars and other supporting sections of the page, complementary to the main content at a similar level in the DOM hierarchy, that remain meaningful when separated from the main content.
Sidebar containing UI elements/inputs within a dashboard should not be an aside. Main would be the most appropriate landmark for this. We recommend since it is a form to nest a form landmark within the main land mark to indicate that there is a form to complete to generate the data plots. This should help users more easily navigate the structure of the page.
Reprex
library(shiny)
library(bslib)
ui <- page_sidebar(
title = "Page Sidebar Reprex",
sidebar = sidebar(
id = "page_aside_id",
"This text lives inside an <aside> tag at the page level."
),
"Main content area"
)
server <- function(input, output, session) {}
shinyApp(ui, server)
library(shiny)
library(bslib)
ui <- page_fluid(
h2("Layout Sidebar Reprex"),
layout_sidebar(
sidebar = sidebar(
id = "layout_aside_id",
"This text lives inside an <aside> tag scoped to this layout component."
),
"Main content block inside the component"
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
Session Info
─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── setting value version R version 4.6.1 (2026-06-24) os macOS Tahoe 26.3.1 system aarch64, darwin23 ui Positron language (EN) collate en_US.UTF-8 ctype en_US.UTF-8 tz America/Chicago date 2026-09-17 pandoc NA quarto 1.8.24 @ /usr/local/bin/quarto
─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
! package * version date (UTC) lib source
askpass 1.2.1 2024-10-04 [1] CRAN (R 4.6.0)
base64enc 0.1-6 2026-02-02 [1] CRAN (R 4.6.0)
brand.yml 0.1.0 2025-11-06 [1] CRAN (R 4.6.0)
brio 1.1.5 2024-04-24 [1] CRAN (R 4.6.0)
bsicons 0.1.2 2023-11-04 [1] CRAN (R 4.6.0)
P bslib * 0.12.0.9000 2026-09-17 [?] deps
cachem 1.1.0 2024-05-16 [1] CRAN (R 4.6.0)
callr 3.8.0 2026-06-05 [1] CRAN (R 4.6.0)
cli 3.6.6 2026-04-09 [1] CRAN (R 4.6.0)
commonmark 2.0.0 2025-07-07 [1] CRAN (R 4.6.0)
credentials 2.0.3 2025-09-12 [1] CRAN (R 4.6.0)
curl 8.0.0 2026-08-25 [1] CRAN (R 4.6.1)
desc 1.4.3 2023-12-10 [1] CRAN (R 4.6.0)
devtools 2.5.2 2026-04-30 [1] CRAN (R 4.6.0)
digest 0.6.39 2025-11-19 [1] CRAN (R 4.6.0)
ellipsis 0.3.3 2026-04-04 [1] CRAN (R 4.6.0)
evaluate 1.0.5 2025-08-27 [1] CRAN (R 4.6.0)
fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.6.0)
fontawesome 0.5.3 2024-11-16 [1] CRAN (R 4.6.0)
fs 2.1.0 2026-04-18 [1] CRAN (R 4.6.0)
gert 2.4.1 2026-08-19 [1] CRAN (R 4.6.1)
gh 1.6.1 2026-07-20 [1] CRAN (R 4.6.1)
gitcreds 0.1.2 2022-09-08 [1] CRAN (R 4.6.0)
glue 1.8.1 2026-04-17 [1] CRAN (R 4.6.0)
htmltools * 0.5.9 2025-12-04 [1] CRAN (R 4.6.0)
httpuv 1.6.17 2026-03-18 [1] CRAN (R 4.6.0)
httr2 1.3.0 2026-07-13 [1] CRAN (R 4.6.1)
jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.6.0)
jsonlite 2.0.0 2025-03-27 [1] CRAN (R 4.6.0)
knitr 1.52 2026-09-06 [1] CRAN (R 4.6.1)
later 1.4.8 2026-03-05 [1] CRAN (R 4.6.0)
lifecycle 1.0.5 2026-01-08 [1] CRAN (R 4.6.0)
magrittr 2.0.5 2026-04-04 [1] CRAN (R 4.6.0)
memoise 2.0.1 2021-11-26 [1] CRAN (R 4.6.0)
mime 0.13 2025-03-17 [1] CRAN (R 4.6.0)
openssl 2.4.2 2026-06-09 [1] CRAN (R 4.6.0)
otel 0.2.0 2025-08-29 [1] CRAN (R 4.6.0)
pak 0.11.1 2026-07-22 [1] CRAN (R 4.6.1)
pillar 1.11.1 2025-09-17 [1] CRAN (R 4.6.0)
pkgbuild 1.4.8 2025-05-26 [1] CRAN (R 4.6.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.6.0)
pkgload 1.5.3 2026-06-15 [1] CRAN (R 4.6.0)
prettyunits 1.2.0 2023-09-24 [1] CRAN (R 4.6.0)
processx 3.9.0 2026-04-22 [1] CRAN (R 4.6.0)
promises 1.5.0 2025-11-01 [1] CRAN (R 4.6.0)
ps 1.9.3 2026-04-20 [1] CRAN (R 4.6.0)
purrr 1.2.2 2026-04-10 [1] CRAN (R 4.6.0)
R6 2.6.1 2025-02-15 [1] CRAN (R 4.6.0)
rcmdcheck 1.4.0 2021-09-27 [1] CRAN (R 4.6.0)
Rcpp 1.1.2 2026-07-05 [1] CRAN (R 4.6.1)
rdtools 0.1.0 2026-07-16 [1] CRAN (R 4.6.1)
renv 1.2.4 2026-08-03 [1] CRAN (R 4.6.1)
rlang 1.3.0 2026-07-05 [1] CRAN (R 4.6.1)
roxygen2 8.1.0 2026-08-04 [1] CRAN (R 4.6.1)
rprojroot 2.1.1 2025-08-26 [1] CRAN (R 4.6.0)
rstudioapi 0.19.0 2026-06-11 [1] CRAN (R 4.6.0)
sass 0.4.10 2025-04-11 [1] CRAN (R 4.6.0)
sessioninfo 1.2.4 2026-06-04 [1] CRAN (R 4.6.0)
shiny * 1.14.0 2026-06-21 [1] CRAN (R 4.6.0)
sys 3.4.3 2024-10-04 [1] CRAN (R 4.6.0)
testthat * 3.3.2 2026-01-11 [1] CRAN (R 4.6.0)
tibble 3.3.1 2026-01-11 [1] CRAN (R 4.6.0)
usethis 3.2.1 2025-09-06 [1] CRAN (R 4.6.0)
vctrs 0.7.3 2026-04-11 [1] CRAN (R 4.6.0)
withr 3.0.3 2026-06-19 [1] CRAN (R 4.6.0)
xfun 0.61 2026-09-16 [1] CRAN (R 4.6.1)
xml2 1.6.0 2026-06-22 [1] CRAN (R 4.6.1)
xopen 1.0.1 2024-04-25 [1] CRAN (R 4.6.0)
xtable 1.8-8 2026-02-22 [1] CRAN (R 4.6.0)
yaml 2.3.12 2025-12-10 [1] CRAN (R 4.6.0)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the page_sidebar() and layout_sidebar() entry points and reproduce the generated landmarks using the supplied Shiny examples. Trace how each sidebar's contents are rendered and verify the dashboard and form cases described in the issue. Done means sidebar content is not always exposed as an aside and the landmark structure follows the stated main/form guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100