Skip to:
Content

Opened 7 years ago

Last modified 6 years ago

#1852 new defect

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

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

Description

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 (6)

#1 @MarcoZ
7 years ago

  • Cc marco.zehe@… added

#2 @johnjamesjacoby
7 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
7 years ago

  • Cc mercijavier@… added

#4 @jaredatch
7 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?

Punt?

#5 @johnjamesjacoby
7 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
6 years ago

  • Cc stephen@… added
Note: See TracTickets for help on using tickets.