{"action":"closed","issue":{"url":"https://api.github.com/repos/BorderTech/wcomponents/issues/926","repository_url":"https://api.github.com/repos/BorderTech/wcomponents","labels_url":"https://api.github.com/repos/BorderTech/wcomponents/issues/926/labels{/name}","comments_url":"https://api.github.com/repos/BorderTech/wcomponents/issues/926/comments","events_url":"https://api.github.com/repos/BorderTech/wcomponents/issues/926/events","html_url":"https://github.com/BorderTech/wcomponents/issues/926","id":179405312,"number":926,"title":"WTable accessibility problems","user":{"login":"marksreeves","id":11661938,"avatar_url":"https://avatars.githubusercontent.com/u/11661938?v=3","gravatar_id":"","url":"https://api.github.com/users/marksreeves","html_url":"https://github.com/marksreeves","followers_url":"https://api.github.com/users/marksreeves/followers","following_url":"https://api.github.com/users/marksreeves/following{/other_user}","gists_url":"https://api.github.com/users/marksreeves/gists{/gist_id}","starred_url":"https://api.github.com/users/marksreeves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marksreeves/subscriptions","organizations_url":"https://api.github.com/users/marksreeves/orgs","repos_url":"https://api.github.com/users/marksreeves/repos","events_url":"https://api.github.com/users/marksreeves/events{/privacy}","received_events_url":"https://api.github.com/users/marksreeves/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/BorderTech/wcomponents/labels/accessibility","name":"accessibility","color":"5319e7"},{"url":"https://api.github.com/repos/BorderTech/wcomponents/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"marksreeves","id":11661938,"avatar_url":"https://avatars.githubusercontent.com/u/11661938?v=3","gravatar_id":"","url":"https://api.github.com/users/marksreeves","html_url":"https://github.com/marksreeves","followers_url":"https://api.github.com/users/marksreeves/followers","following_url":"https://api.github.com/users/marksreeves/following{/other_user}","gists_url":"https://api.github.com/users/marksreeves/gists{/gist_id}","starred_url":"https://api.github.com/users/marksreeves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marksreeves/subscriptions","organizations_url":"https://api.github.com/users/marksreeves/orgs","repos_url":"https://api.github.com/users/marksreeves/repos","events_url":"https://api.github.com/users/marksreeves/events{/privacy}","received_events_url":"https://api.github.com/users/marksreeves/received_events","type":"User","site_admin":false},"assignees":[{"login":"marksreeves","id":11661938,"avatar_url":"https://avatars.githubusercontent.com/u/11661938?v=3","gravatar_id":"","url":"https://api.github.com/users/marksreeves","html_url":"https://github.com/marksreeves","followers_url":"https://api.github.com/users/marksreeves/followers","following_url":"https://api.github.com/users/marksreeves/following{/other_user}","gists_url":"https://api.github.com/users/marksreeves/gists{/gist_id}","starred_url":"https://api.github.com/users/marksreeves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marksreeves/subscriptions","organizations_url":"https://api.github.com/users/marksreeves/orgs","repos_url":"https://api.github.com/users/marksreeves/repos","events_url":"https://api.github.com/users/marksreeves/events{/privacy}","received_events_url":"https://api.github.com/users/marksreeves/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/BorderTech/wcomponents/milestones/16","html_url":"https://github.com/BorderTech/wcomponents/milestones/1.2.8","labels_url":"https://api.github.com/repos/BorderTech/wcomponents/milestones/16/labels","id":2030257,"number":16,"title":"1.2.8","description":"Bug fixes only","creator":{"login":"marksreeves","id":11661938,"avatar_url":"https://avatars.githubusercontent.com/u/11661938?v=3","gravatar_id":"","url":"https://api.github.com/users/marksreeves","html_url":"https://github.com/marksreeves","followers_url":"https://api.github.com/users/marksreeves/followers","following_url":"https://api.github.com/users/marksreeves/following{/other_user}","gists_url":"https://api.github.com/users/marksreeves/gists{/gist_id}","starred_url":"https://api.github.com/users/marksreeves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marksreeves/subscriptions","organizations_url":"https://api.github.com/users/marksreeves/orgs","repos_url":"https://api.github.com/users/marksreeves/repos","events_url":"https://api.github.com/users/marksreeves/events{/privacy}","received_events_url":"https://api.github.com/users/marksreeves/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":2,"state":"open","created_at":"2016-09-26T22:59:33Z","updated_at":"2016-09-27T12:43:25Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2016-09-27T06:11:50Z","updated_at":"2016-09-27T12:43:25Z","closed_at":"2016-09-27T12:43:25Z","body":"1. When a WTable has row expansion it uses the role `treegrid` with `aria-readonly=\"true\"` to expose the tree-like nature of the grid. \r\n\r\n  Several screen readers (including NVDA, Voiceover and ChromeVox) have issues with this role. For example, using NVDA and Chrome on Windows; or Safari or Chrome and Voiceover on OS X it is not possible to get the screen reader to read the table contents due to the `aria-readonly` attribute.\r\n\r\n  It is _recommended_ that this role is not used (even though it is technically correct) as it reduces real-world accessibility.\r\n\r\n2. All tables with roles use redundant `row` and `gridcell` roles; a table with row selection but not row expansion uses the `grid` role; column headers use the `columnheading` role. These were all added to work around false negatives in an a11y testing library we were using and _should not_ be used.\r\n\r\n3. The `expand all` and `collapse all` buttons are exposed as radio buttons but the state of the table can get out of sync with the state of the buttons if the radio state is changed with the arrow keys and a click equivalent is not also fired. If the row expansion is via ajax (lazy or dynamic) then the ajax request will not fire if the arrow key is used to move from `collapse all` to `expand all`."}}
{"actor":{"display_login":"marksreeves"}}