8 min read
Accounting Firm Website Accessibility Basics
Accounting firm website accessibility starts with labeled upload forms, clear fee tables and plain portal links, so clients can send documents without guessing.
- accounting firm website accessibility
- tax firm website
- document upload forms
- client portal
- fee tables
- pdf accessibility
Opening answer
Accounting firm website accessibility comes down to four places where a client can get stuck: the document upload form, the client portal link, the fee table and the PDF download. Without a clear label, a screen reader user hears a blank field where a sighted visitor sees a heading. Without header markup, a fee table reads as a stream of numbers with no column names. If the portal link says only "click here", a person tabbing through links hears the same phrase again and again. Fix those four places first, in that order.
Start with the upload form
An upload form is the highest value page on an accountant site, because it is where a client hands over sensitive documents. The WAI Forms Tutorial sets the pattern in plain terms: label each control, group related controls, give instructions before the user acts, validate input and notify the user about errors. That pattern maps to WCAG 2.2 criteria 3.3.2 for labels or instructions, 3.3.1 for error identification and 3.3.3 for error suggestion. A label must name the field in words, not only in a placeholder that disappears when typing starts. "Upload your signed engagement letter" tells a client what to send. A bare "Choose file" button does not.
Instructions belong next to the field, before the submit button. State which file types are accepted, in words, and state a size limit in words if one exists. Do not rely on an icon alone to show an accepted format, and do not show a format list only after a failed upload. When an upload fails, name the field in text, say what went wrong in text, and suggest a fix in text, such as asking for a PDF or an image file.
When a form asks for more than one set of documents, put personal, business and prior year documents in separate groups, each with a clear group label. A screen reader announces the group label as the user moves through it. Keep the form short, ask only for the documents needed for that job, and note at the top what happens after upload, such as a confirmation message.
Make fee tables readable by machine, not only by eye
Fee tables fail in a quiet way. They look fine on screen, with bold headings and neat columns, but the markup underneath may give a screen reader nothing to work with. The WAI Tables Tutorial states the fix: header cells must be marked with th, data cells with td, and for more complex tables the relationship must be explicit through scope, id and headers attributes. Scope values are col, row, colgroup and rowgroup. A simple fee table needs scope col on the column headers, such as Service and Fee basis, and scope row on the row headers, such as each service name.
A table that groups services under headings needs colgroup or rowgroup scope on the group header, or id and headers pairs when the structure has more than one level. Do not build a fee table from styled div elements that look like a grid but carry no table markup, and do not use a table only to lay out a page. Give every data table a caption, such as "Fee basis by service".
State the fee basis, such as per return or per month, in the table itself, not only in a footnote. If a service has no fixed fee, write "quoted per job" in the cell, rather than leaving it blank, which reads as missing data to a screen reader user.
Portal links and contact routes need names that work alone
A client portal link is often the weakest link on the page, literally. "Client login", "Portal" and "Sign in" are common, but they fail when a page has more than one of them, or when a screen reader user pulls up a list of links out of context. Give each portal link a name that states its destination and its purpose. "Open the client portal to upload documents" works alone. "Click here" does not. The same rule applies to phone and email links. Write the phone number as visible text inside the link, and write the email address as visible text, so a visitor who prints the page or copies the text still has the contact detail.
Put the portal link in the same place on every page, under the same name. If the portal is run by a third party behind a login, say so on the linking page, in one plain sentence: the firm site can make the link clear and labeled, but the login pages inside are the portal provider's pages to fix. Do not promise that a scan of the firm site covers pages behind a login, because a scanner cannot reach them.
PDFs: say what they are, and do not hide key facts inside them
Tax and accounting sites lean on PDFs for engagement letters, checklists and fee sheets. A PDF can be a barrier when it has no tags, no reading order and no text alternatives for images inside it. The practical fix for most firms is simpler than a full PDF program: put the key facts in HTML on the page, and offer the PDF as a download for printing, not as the only place a fact lives.
State this plainly about Axeazy, because it changes what a scan can tell you: Axeazy does not scan PDFs. A clean scan of the HTML pages says nothing about the PDFs linked from them. So check PDFs by hand, starting with the most downloaded one: can text be selected, do headings read in order, and do meaningful images have text alternatives? If not, fix the source document and export a tagged copy, or move the content to HTML and keep the PDF only for print.
What Axeazy helps with on this kind of site
Axeazy scans with 98 automated checks and fixes code in 14 categories, including form labels and table header structure, per WCAG 2.2 criteria and ADA guidance on web accessibility. That matches the two hardest patterns on an accountant site: unlabeled upload fields and fee tables built from bold text instead of header cells. For a site with a GitHub repo, fixes arrive as a real pull request with a visible diff for the owner or developer to review and merge. For a WordPress site, the free plugin applies 3 instant render time fixes, and paid plans add weekly scans.
Start from the free scan on Axeazy homepage, which takes about 60 seconds, is homepage only and needs no signup and no card. Then read the Axeazy capabilities page for the full list of what is scanned and what is not, including the PDF limit above. That page lists Starter at $29 a month, Pro at $79 a month and Agency at $199 a month as listed figures, so confirm the checkout total before paying, since paid prices are shown at checkout and annual billing saves 20 to 25 percent. For a wider comparison, see best accessibility tools for small business and how to choose an accessibility tool, 10 criteria.
FAQ
Why does an upload form need a visible label if the heading above it already explains it?
Because a heading describes a section, while a label names one control, and a screen reader announces that label when focus lands on the control. A visitor who tabs straight to the upload button may never hear the heading. Give the control its own label, and keep the heading as well.
What is wrong with a fee table that looks neat but uses td cells for headings?
A screen reader announces td cells as data, with no header context, so a visitor hears numbers with no column or row names. Changing heading cells to th, with scope col or scope row, gives each data cell a header the screen reader can announce.
Should key fee facts live only in a PDF?
No. Put fee basis, service names and contact routes in HTML on the page, and offer the PDF as a print copy. Axeazy does not scan PDFs, so a PDF only fact will not show up in a scan report.
What should a firm do about pages behind a client portal login?
Make the link to the portal clear and consistently named on the public site, and ask the portal provider what accessibility work applies inside the login area. A public site scan cannot reach pages behind a login.
Last checked and sources
Last checked: October 31, 2026.
Sources: WCAG 2.2 from the World Wide Web Consortium, ADA guidance on web accessibility from the Department of Justice, WAI Tables Tutorial, WAI Forms Tutorial, Axeazy pricing page, Axeazy capabilities page.
For a first check of the homepage, upload form and fee table, start with the free scan on Axeazy pricing and confirm the checkout total for any paid plan.