Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


Project Status: Active – The project has reached a stable, usable state and is being actively developed. CRAN status R-CMD-check Codecov test coverage


An R package to help automatically create reproducible spreadsheets that adhere to the latest guidance on releasing statistics in spreadsheets from the UK government’s Analysis Function Central Team, with a focus on accessibility (‘a11y’).

Visit the {a11ytables} website for documentation.


This package is not intended for creating perfectly accessible spreadsheets but will help with the bulk of the work needed. Users of this packages should refer back to the main spreadsheet guidance or the spreadsheet accessibility checklist after using it to make sure nothing has been missed. Please email if you use the package so they can monitor use and the outputs produced.


The package is under (opinionated) active development. Please see the NEWS file for the latest changes.

To contribute, please add an issue or a pull request after reading the code of conduct and contributing guidance.


Install the package from GitHub using {remotes}.

install.packages("remotes")  # if not already installed
remotes::install_github("co-analysis/a11ytables", build_vignettes = TRUE)
library(a11ytables)  # attach package

The package depends on {openxlsx} and {pillar}, which are also installed with {a11ytables}.


To create a spreadsheet:

  1. Use create_a11ytable()
  2. Pass the output to generate_workbook()
  3. Pass the output to openxlsx::saveWorkbook()

Run ?function_name or visit the package website for function documentation. For long-form documentation, run browseVignettes("a11ytables") or visit the package website to read the:

This package also includes an RStudio Addin that inserts pre-filled demo skeletons of the {a11ytables} workflow.

Related projects

The Analysis Function Central Team released a Python package called ‘gptables’ that has been updated given the latest best-practice guidance. {a11ytables} is an independent effort that offers a native R solution that is very similar to gptables in its outputs, though there are some differences in implementation. You can always use gptables in R via the {reticulate} package if you prefer.

{a11ytables} can help you fulfil a Reproducible Analytical Pipeline by automating the generation of compliant spreadsheets for publication.

Code of Conduct

Please note that the {a11ytables} project is released with a Contributor Code of Conduct.

Copyright and Licensing

© Crown Copyright, 2022, Cabinet Office

This work is Crown Copyright. The source code for the software is released under the MIT licence as per the the UK Government Licensing Framework and the GDS Way licensing guidance. The documentation for the software is released under the Open Government Licence.