| Summary: | [Accessibility] Enhance table Accessibility in HTML Output | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Jason Weathersby <jasonweathersby> | ||||
| Component: | BIRT | Assignee: | Zhiqiang Qian <zqian> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Xiaodan Wang <xwang> | ||||
| Severity: | enhancement | ||||||
| Priority: | P3 | CC: | bluesoldier, jingwen.shen, josh.martin, jouyang, memphis75, rkanguri, wyan, xwang | ||||
| Version: | 2.2.0 | Keywords: | plan | ||||
| Target Milestone: | 2.5.0 M6 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | Obsolete | ||||||
| Attachments: |
|
||||||
|
Description
Jason Weathersby
Created attachment 112443 [details]
Example of the Property Editor with the new fields.
Hey Jason - apologies in the delay getting this ticket updated. This isn't something that would be universal for all reports, so I don't think the properties file would work. Each cell within a report would have different values (just like Width, etc.). It would be very easy to enable basic 508-compliance. Adding a few attributes to tables cells would accomplish it. Adding the scope attribute would solve 80% of the cases (and I'd just set "row" or "col" just like I'd set width today). Complex tables require two additional attributes - headers and id. There's a short article about it at the link below. I'll put a quick excerpt as well if it helps. http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.4 - For a given header cell, the scope attribute - tells the screen reader the data cells for which - this header provides information. Authors may - choose to use this attribute instead of - headers according to which is more convenient; - the two attributes fulfill the same function. - The headers attribute is generally needed when - headers are placed in irregular positions with - respect to the data they apply to. To summarize, a "Cell" object should support three new properties: scope, id, and headers. Users should be able to set these values just like they set other cell properties (e.g. Width, Font, etc.). The rendered HTML would contain the new properties as attributes, just as they were specified: <th scope="col"> or <td headers="locations east"> or <th id="locations" I'll attach a screenshot to show what the Property editor would look like. Adding these few fields and allowing users to adjust HTML output would make the rendered reports accessible to screen readers. At our company, we develop software for the federal government, and it's an absolute necessity to support this type of accessibility. If there is any further information I can provide, please let me know. Thanks, Josh If it's OK, could you update the title to something like: Table Accessibility in HTML Output? It would definitely fit the accessibility keyword as well. *** Bug 184726 has been marked as a duplicate of this bug. *** need more time to resolve those issues. Model needs to add three properties"scope, headers, bookmark" on table cell first. After that, please reassign this bug to engine. (In reply to comment #6) > Model needs to add three properties"scope, headers, bookmark" on table cell > first. > After that, please reassign this bug to engine. > Can you please give out details for these properties? Like which type? And default value, etc? These three properties should have defalult null value if user doesn't defined them on table cell. (1)"scope":When specified, this attribute must have one of the following constant values: "row": The current cell provides header information for the rest of the row that contains it. "col": The current cell provides header information for the rest of the column that contains it. "rowgroup": The header cell provides header information for the rest of the row group that contains it. "colgroup": The header cell provides header information for the rest of the column group that contains it. (2)"bookmark": This attribute specifies the id of header cells.This name must be unique in the report document.It can be an expression or a string. (3)"headers":User can choose bookmark defined as headers of the data cell. (In reply to comment #8) > These three properties should have defalult null value if user doesn't defined > them on table cell. > > (3)"headers":User can choose bookmark defined as headers of the data cell. > headers is a string or just an expression? headers is a space separated string containing one or more of the bookmark ID's. For example, assume you had three headers: Header 1 (Year) bookmark = "2009" Header 2 (Month) bookmark = "May" Header 3 (Day) bookmark = "17" Then the table cell that contains the data for May 17th, 2009 would have the following headers value: "2009 May 17". Please add properties as comment#8 and #9 said. added scope, bookmark and headers properties on cell element. reassign to engine team. Engine output these three properties on table cell. Still need UI's support. Reassign the problem to designer. Please suggest the UI mockup. *** Bug 260973 has been marked as a duplicate of this bug. *** (In reply to comment #14) > Please suggest the UI mockup. > Zhiqiang - Please see the screenshot I attached during the first comment for an example UI. Let me know if there is anything else you need. Thanks, Josh Lets show the 3 new properties in the advanced property view only, as also suggested in comment 1 OK, then it should already have done. Mark as fixed. Bookmark, Headers and scope works correctly for table. For the crosstab issue, open new entry bug 268749 and bug 268754. Verified in build (2.5.0.v20090316-0939). |