Archive index

A11y Slackers Gitter Channel Archive 27th of June 2016

What fresh hell is THIS now? - Patrick Lauke
  1. James Nurthen
    @jnurthen
    Jun 27 00:34
    the computedStyle of an element also includes its parent's visibility status (if it is inherited) while you have to walk the tree (or use some other property like offsets) to get the display style of a node
  2. zakim-robot
    @zakim-robot
    Jun 27 08:39
    [jakecross] Is there a details explanation of when you would choose empty alt, aria-hidden or role presentation?
  3. zakim-robot
    @zakim-robot
    Jun 27 08:44
    [jakecross] Stumbled upon this: http://john.foliot.ca/aria-hidden/ , Looks to be what I was after :)
  4. stevefaulkner
    @stevefaulkner
    Jun 27 13:07
    @jakecross use empty alt for a decorative image
  5. zakim-robot
    @zakim-robot
    Jun 27 14:09
    [michiel] jakecross: role=presentation is used to overwrite the default role. So, it would let you turn a <h1> into what is essentially a <div>
  6. [michiel] Think of it as role=none :)
  7. [michiel] aria-hidden can be used to hide stuff from AT's. But, stuff that is visible should never be hidden unless it is decorative.
  8. [michiel] And as Steve said, an empty alt can be used to hide a decorative image from AT
  9. powrsurg
    @powrsurg
    Jun 27 14:16
    well, if you have a modal dialog up you should thrown aria-hidden on everything else to prevent AT from allowing the user to jump to a landmark outside of the dialog. I would argue that the background content at that time isn't decorative.
  10. zakim-robot
    @zakim-robot
    Jun 27 14:17
    [michiel] dialog's are way to complicated in browsers.
  11. [michiel] dialogs*
  12. [michiel] There is a severe lack of tools available to make them.
  13. [michiel] Like, get all focusable things inside of a dialog.
  14. [michiel] Where is that javascript function? :(
  15. powrsurg
    @powrsurg
    Jun 27 14:20
    jQuery's ":focusable" selector needs to be made native
  16. Mallory
    @StommePoes
    Jun 27 14:20
    :tabbables were pretty expensive
  17. Rodney Rehm's a11y.js I believe takes care of grabbing focusables and hiding them
  18. I don't really bother with grabbing all the focusables though
  19. I'm currently using something like: on the whole document, put a listener for focus and check if that thing's got an ancestor matching the dialog
  20. that gets most tabbing and shift-tabbing out, but it misses if the dialog is the first or last item on the page
  21. like I could tab out of a dialog who is last-in-page and end up in the address bar
  22. so if my dialog is last-in-page (and it usually is) then I put a trap on the bottom
  23. so shift-tab gets covered by the check-for-ancestor bit
  24. and the forward tab gets caught by the trap. The trap is an empty focusable who, when it gets focus, finds the close button (or first focusable) and puts focus() on it.
  25. I need to test it more.
  26. So by caring about the direction I can go and setting a trap for whoever's on the end, I can not care about who all is focusable inside the dialog, which saves memory.
  27. I guess the new WeakMaps can deal with the memory thing better nowadays
  28. Mallory
    @StommePoes
    Jun 27 14:26
    I have a question for all here: since certain HTML elements already have some native roles, if I'm turning a TABLE into a GRID using the grid role, do I then automatically lose my ROW roles on my tr's etc? Because I'm reading in the 1.1 spec that GRIDCELLs must be owned by ROWs and ROWs must be owned by ROWGROUPs and ROWGROUPs must be owned by GRIDs or TABLEs... if I set role=grid on a table do I still have rowgroups on my theads/tbodies and rows on my trs?
  29. I'm also confused about the difference between "current" and "selected"... we're making a calendar which, while it's not a datepicker, it's got similar abilities. Users can hover (and when I've fixed it, focus) on cells but these "active" cells can't count as "selected" as in, someone hit ENTER or mouse-clicked or touchscreen tapped to choose it, because that's a thing, people can explicitly choose a date to make various things happen on the page.
  30. powrsurg
    @powrsurg
    Jun 27 14:28
    I feel like you shouldn't but it would not surprise me if you did
  31. Mallory
    @StommePoes
    Jun 27 14:29
    And the spec warns about aria-current not to confuse it with selected or use it where you could use selected... since GRDICELLs can be aria-selected, I worry that I maybe shouldn't use aria-current for the currently-highlighted-but-not-selected cell... and what happens when you navigate to a selected cell? What are you? Ideally, you're both selected and current.
  32. shouldn't... lose my roles?
  33. powrsurg
    @powrsurg
    Jun 27 14:32
    I feel like you shouldn't still have rowgroups on the theads/tbodies, and rows on the trs, but it wouldn't surprise me if you did. I feel like the system should know that changing a parent element that affects its children by taking away its default value should whipe it all away. Now you're changing it to something that is compatible so it would be nice if they were smart enough to retain them for something like that, but I don't see systems being smart enough to do that yet ... so I feel you're going to get what you want out of luck, more than being the way something should behave
  34. I feel like you should lose them, but things aren't smart enough to lose them yet. But in your case it's good that they are retained so you win out. If that makes sense.
  35. Mallory
    @StommePoes
    Jun 27 14:43
    Or in other words...
  36. if I do <table role="grid"...> then my <td role=gridcell">foo</td>... without using something like visualAria I wouldn't know if the browser considered that gridcell as incorrectly not being owned.
  37. and I didn't think visualAria listed to the browser, but followed its own rules which would be according to whatever spec is in vogue at that time .
  38. zakim-robot
    @zakim-robot
    Jun 27 14:58
    [jakecross] What is the difference between display none and aria hidden true? Is it all to do with having elements that are for 'either' accessibility api users or non accessibility api users?
  39. Mallory
    @StommePoes
    Jun 27 15:00
    display: none makes everything invisible for everyone, all users. aria-hidden only hides from AT who know aria.
  40. supposedly the two should be and mean the same thing but of course we use aria-hidden to hide from AT-users things that are visible.
  41. zakim-robot
    @zakim-robot
    Jun 27 15:02

    [jakecross] Got you - so when I have the screen reader picking up things on the page that aren't even visible to a user without AT (don't know what this stands for... =D ) then setting display:none is fine.

    It doesn't seem to interrupt the flow of the page when I change that style... so that looks fine to me.

  42. zakim-robot
    @zakim-robot
    Jun 27 15:08
    [jakecross] Are they any books that are good starting places to get a good feel for this kind of work?
  43. [jakecross] At the moment I'm learning a lot as and when I have to ask questions and trawl through websites... I do like to read a good techy book through and if there are any recommendations, that would be good.

    crosses fingers that I'm not just told to read the WAI ARAI spec

  44. [michiel] So most of this stuff is in the ARIA spec; you should just read that.
  45. [michiel] >:)
  46. [michiel] I'm not sure there is an article on this. But stevefaulkner probably wrote a short note on it.
  47. [michiel] He writes short notes on everything.
  48. stevefaulkner
    @stevefaulkner
    Jun 27 15:14
    @jakecross - this may be helpful http://w3c.github.io/aria-in-html/
  49. zakim-robot
    @zakim-robot
    Jun 27 15:19
    [jakecross] That looks great, thanks :)
  50. [jakecross] There's an <a> on the page... so it should be display none because it's not visible or usable by anyone... so why is it even there? So much questionable markup that until dealing with accessibility, I just didn't care about.

    It's a nice challenge!

  51. [jakecross] Cartman Voice: Respect my aria-hidden!
  52. zakim-robot
    @zakim-robot
    Jun 27 15:28
    [bkardell] weird that this is the discussion going on because I have a thing right now that is display:none and yet jaws is reading its contents, adding aria-hidden makes no difference either
  53. stevefaulkner
    @stevefaulkner
    Jun 27 15:33
    @bkardell hi, code example?
  54. zakim-robot
    @zakim-robot
    Jun 27 15:33
  55. [bkardell] the 'remove' buttons in those panels are style='display:none'
  56. [bkardell] but it's reading them, and actually only them
  57. stevefaulkner
    @stevefaulkner
    Jun 27 15:36
    <button aria-hidden="true" style="display: none" title="Remove this panel" class="common-panel-remove">×</button>
  58. this one?
  59. jaws version and browser?
  60. zakim-robot
    @zakim-robot
    Jun 27 15:38
    [jakecross] I think display:none makes your aria-hidden attribute redundant (but I am very new to this)
  61. stevefaulkner
    @stevefaulkner
    Jun 27 15:38
    I think display:none makes your aria-hidden attribute redundant - yes it does
  62. zakim-robot
    @zakim-robot
    Jun 27 15:40
    [bkardell] windows 7, IE11, Jaws 16
  63. [michiel] That is weird :/
  64. stevefaulkner
    @stevefaulkner
    Jun 27 15:44

    windows 7, IE11, Jaws 16

    tried it on windows 10 ie11 jaws 16 no problem

  65. presuming the issue should occur on basic panel demo? http://bkardell.github.io/common-panel/prototype/panelset-element.html
  66. zakim-robot
    @zakim-robot
    Jun 27 15:48
    [michiel] bkardell: which demo has the issue?
  67. [bkardell] any of the panelset ones
  68. [bkardell] no not on the the basic panel, panelsets
  69. [bkardell] weirdly the basic panels work fine, and they're pretty similar - I mean, one builds on the other
  70. stevefaulkner
    @stevefaulkner
    Jun 27 15:50
    so what specifically is an example demo that has the problem
  71. zakim-robot
    @zakim-robot
    Jun 27 15:51
    [bkardell] Panel Sets: Simple Panel Set
  72. [bkardell] is one
  73. [bkardell] any of the ones under panel sets tho
  74. stevefaulkner
    @stevefaulkner
    Jun 27 16:01
    ok will look into it
  75. zakim-robot
    @zakim-robot
    Jun 27 16:09
    [bkardell] it's bizzaro - at least to me it seems bizaro
  76. [bkardell] stevefaulkner: thanks
  77. Job van Achterberg
    @jkva
    Jun 27 20:10
    Hi folks
  78. Where can I find the behaviour in the spec that defined that when the sole content of an <a> is a single <img>, the text node of that <a> will be the <img>'s alt attribute value?
  79. Job van Achterberg
    @jkva
    Jun 27 20:16
  80. zakim-robot
    @zakim-robot
    Jun 27 21:01
    [marcysutton] @bkardell: I can repro your problem in IE/JAWS on the Simple Panel Set. That is strange.
  81. zakim-robot
    @zakim-robot
    Jun 27 22:51
    [michiel] jkva: you can find that here: http://www.w3.org/TR/html-aam-1.0/#a-element
  82. [michiel] “2. Otherwise use a element subtree”
  83. [michiel] You can find the ED here if that's your thing: http://w3c.github.io/aria/html-aam/html-aam.html#a-element