Skip to:

Opened 12 years ago

Last modified 5 months ago

#1852 new defect (bug)

[Accessibility] Revert loop_topics.php and loop-forums.php back to using data tables in bbt-compat

Reported by: marcoz's profile MarcoZ Owned by:
Milestone: Future Release Priority: high
Severity: major Version:
Component: Appearance - Theme Compatibility Keywords:
Cc: marco.zehe@…, mercijavier@…, jared@…, stephen@…


For accessibility, a mixture of the two approaches tables vs. lists would have been the optimum. And maybe that's still possible to do?

My suggestion would be this:

  1. On the forums overview page, where there are forums, topics in each forum, etc., a table is the appropriate form to use. It has column headers, and each row consists of a data record AKA a single forum. For this, a data table, semantically a table with appropriate tags, is indeed the correct way to go! Not all tables are bad per se!
  1. Same goes for the listings of topics within each forum. These have column headers, too, and each row tells the story about each topic. A perfectly legal and sanctioned use of tables!
  1. The only part where a table is not appropriate for usage is when displaying a single topic with its replies. The TwentyTen bbPress theme definitely uses a data table semantics for layout purposes here, e. g. grouping a reply header, content, and footer together in a way that is clearly meant for layout. There are no column headers, and not every row tells a story about a single post. Instead, a post spans multiple rows, each with different information. This is what accessibility folks call layout tables, and these are banned by the W3C and hated passionately by each screen reader user on this planet. Topics and replies lump together in a big spaghetti-like table without a real distinction where one post ends and the next begins.

Converting this to more appropriate markup was the right thing to do. Converting the forums and topics listings, was not. A list item is a list item, and not a column header or table cell. In data tables, browsers' accessibility APIs can create correct linkage between a column header and the relating cell down in the table. The user can therefore hear if the number they're hearing is the number of voices, replies, the title or what. If these are done by lists as it is now, there is no way on this planet that this kind of essential linkage can be provided. There is simply no technique to do this.

The bbPress support forum uses a correct combination of data tables for the forum listing and topic listings, and otherwise appropriate markup for a topic and its replies.

I strongly request that this be put into the theme-compat of 2.1, or accessibility of bbPress will be significantly reduced in forum and topic listings!

Change History (7)

#1 @MarcoZ
12 years ago

  • Cc marco.zehe@… added

#2 @johnjamesjacoby
12 years ago

  • Milestone changed from Awaiting Review to 2.2

This is a large change to do so late in 2.1 development. I'd rather we put energy into an HTML5 implementation, since both table and tableless are finally stable and have parity.

Moving to 2.2 to look at this after 2.1 ships.

#3 @mercime
12 years ago

  • Cc mercijavier@… added

#4 @jaredatch
12 years ago

  • Cc jared@… added

Could be wrong, but I don't see this going for 2.2. @jjj have you had any other complaints since 2.1 regarding accessibility?


#5 @johnjamesjacoby
12 years ago

  • Milestone changed from 2.2 to Future Release

No other complaints, but it's definitely still a valid issue.

A great compromise would be to put up a bbPress Accessibility template pack that addresses this.

My opinion on waiting until we can HTML5'ize still stands. Moving to the hybrid list/table approach would result in a mish-mash of CSS from each approach, and result in more code to maintain in core.

Moving to Future Release until time comes to look into making a template pack.

#6 @netweb
11 years ago

  • Cc stephen@… added

#7 @campg2003
4 years ago

I'm not familiar with bbPress. I foumnd you after being frustrated after doing a search in a WordPress forum. Had the search results been in a table I could have gone to the topic cell of the first row, held ALT and CTRL down, and downarrowed through the topics, repeated for the following pages, and have known that no one had asked about updating to Responsive 4.0. As it is I had to read everything for each entry. I'm glad to see that you understand why it needs to be a table! (After all, I think it looks like a table.) If you need a complaint, consider this it. I can understand waiting until things stabilize, but if they haven't in 7 years, I don't think they're going to. I don't know the ramifications of template packs, but know that if it's fixed in the product, you will fix it for sites that don't know they have a problem.

Note: See TracTickets for help on using tickets.