Does having a data table without cell borders affect accessibility and usability in any way? I can't seem to find an answer online. Having borders definitely increases readability. Can we say it is a concrete WCAG violation?
Does it fail any WCAG criteria?
I don't think it would be a violation of any WCAG rules (surprisingly, I did run through them all in my head trying to think if one applied), but that doesn't mean you should do it.
Tables without borders (as you have already indicated) are harder to read and consume the data from, it may also introduce accessibility issues for certain users.
Who could it affect?
screen magnifier users - when you are zoomed in to a section of a page that may only be 100px by 100px table borders make it a lot easier to ensure you are looking in the correct column.
people with cognitive disorders - people with learning deficits / association disorders may not associate a borderless table as a table and think it is just oddly spaced text.
people with dyslexia - people with dyslexia may find the columns of white space distracting and find it difficult to follow along a row or column.
sighted screen reader users - screen readers are not only used by people who are visually impaired, they are also used by people who require additional assistance understanding the content of a page. If a sighted user sees your data and does not associate it with tabular data then they may not realised that they can jump to that table / navigate that table using standard table controls.
You don't want to add any cognitive load unnecessarily, making things harder to use than is necessary.
This will result in users leaving your site to go elsewhere / frustration / lower conversions (if this is a sales process).
Borders are only one way of showing that tables are "tables".
Another way, which I often use, is shading. This is quite common for rows - either two alternate background colors (one white, one non-white; or any two colors with sufficient contrast) or a series of colors (I often use 5 shades of one primary color as this makes it easy to count through sections of a table - 5, 10, 15, etc.).
Columns get a little trickier, but alternate background colors can work there too. Another option is text styling. For example, the first column might be bold, then the other columns can alternate between regular and italics.
All of these methods - borders, varying colors, varying fonts - can make it easy to distinguish between cells in a table.
One I generally don't recommend is colors of text. I prefer to use colors of text (as opposed to the background) to indicate meaning - e.g., green = "good", red = "problem".
It is all about how you can bring a better experience to everyone regardless of ability, context, or situation. How can you arrange and visualize the data in a better format that is easily accessible regardless of ability?
The first step is to understand how people with disabilities use digital content. Many people believe that “accessibility” is just a checklist. It’s just about meeting legal or project requirements. That is one perception we need to change.
Because truly accessibility is not about a checklist, it’s about people. It’s about real people with disabilities being able to use your websites, apps, and digital technologies are called the user experience. It is our responsibility to create an inclusive platform for people regardless of their ability.