Archive index

A11y Slackers Gitter Channel Archive 30th of November 2015

What fresh hell is THIS now? - Patrick Lauke
  1. MichielBijl
    06:41
    Good morning slackers!
  2. zakim-robot
    06:42
    [jitendra] Good morning
  3. MichielBijl
    06:43
    How are you?
  4. zakim-robot
    06:43
    [jitendra] I’m good. you?
  5. MichielBijl
    06:44
    Very good :) We have new working hours and can now start an hour earlier.
  6. MichielBijl
    06:44
    Well, we always were allowed to start earlier, but now we get to go home earlier too ;)
  7. zakim-robot
    06:48
    [jitendra] good
  8. MichielBijl
    10:36
    Nice, the contact form for NOS.nl doesn't have audio for it's captcha
  9. MichielBijl
    10:36
    It's a government run website btw.
  10. MichielBijl @MichielBijl files bugs
  11. StommePoes
    10:43
    as if audio solves much
  12. StommePoes
    10:44
    @jitendra I thought you were making a calendar with dates etc
  13. MichielBijl
    10:45
    @StommePoes I'm not up to date with the latest in captcha technology. I thought adding audio was a start?
  14. StommePoes
    10:45
    Find a real life human being with "average" hearing and see if they can actually successfully get through an audio captcha
  15. StommePoes
    10:45
    more likely, they'll discern hidden messages from satan
  16. StommePoes
    10:45
    like rock and roll played backwards
  17. MichielBijl
    10:46
    I thought rock and roll played forwards were messages from satan
  18. StommePoes
    10:46
    To me it's like "we've got a padlock on the door keeping you out but we'll paint it pink so it looks friendly!" kinda thing.
  19. StommePoes
    10:46
    No those are about sex and drugs
  20. MichielBijl
    10:47
    So messages to satan perhaps :p
  21. StommePoes
    10:47
    Well except k3 songs. I heard one that says "massamoord" when played backwards, not sure what they're on about forewards
  22. StommePoes
    10:49
    Slack says, about their accessibility problems "sorry, we'll get there"
  23. StommePoes
    10:50
    I'm trying to figure out how it was that someone thought listitems and treeitems were good default roles for drag and drop. If you think about it, list items are kinda limited in where they're allowed to be. They can only go into lists, meaning if you have a list of destinations, to stay HTML-legal that means it has to be a list of lists.
  24. StommePoes
    10:51
    since you can't put a li in a li
  25. StommePoes
    10:51
    And even if the destinations were whatever-containers like a div or divs, div>li also isn't a thing.
  26. StommePoes
    10:51
    Just seems like a strange constraint.
  27. MichielBijl
    11:12
    Do you have a link to spekjes?
  28. StommePoes
    11:16
    this is the closest I can find http://www.w3.org/WAI/PF/aria-practices/#dragdrop
  29. StommePoes
    11:17
    it says a lot of things thought. Many don't seem to be supported now yet.
  30. MichielBijl
    11:27
    So it doesn't work if you have role=tree with child role=treeitem's?
  31. StommePoes
    11:27
    I haven't tried those roles as they make no sense with the markup/structure
  32. StommePoes
    11:28
    trees are supposed to be exandable collapsable
  33. StommePoes
    11:28
    I also briefly considered the onzin of grrids
  34. StommePoes
    11:28
    same thing, makes no sense
  35. MichielBijl
    11:30
    Then you have to collapse rows and what not
  36. MichielBijl
    11:31
    But it's a technical issue rather than a spec one right?
  37. MichielBijl
    11:31
    aria-grabbed is allowed on all base markup.
  38. StommePoes
    11:33
    yeah but without a role, our keypresses aren't being passed on in our SRs
  39. StommePoes
    11:33
    So I thought "I know; I'll make them fit the roles" and redid everything in lists and list-items
  40. StommePoes
    11:33
    however that still didn't trigger key-passthrough's (this might just be SR support being behind)
  41. StommePoes
    11:34
    so I add a role of application to the first list, and now I get keys being passed through
  42. StommePoes
    11:34
    but I also have a list of list items where the list items (instead of something inside them) has all the roles like draggable etc
  43. StommePoes
    11:35
    if I move them (and move is the option we want here) to the other list (we're matching something like terms with definitions), we're moving a li into.. .either another li, or a ul inside a list
  44. StommePoes
    11:35
    I had a time with a list of lists but IE didn't listen "deep" enough
  45. StommePoes
    11:35
    the lowest I could get of someone getting drag start/end events was the nested ul, but not that ul's li's
  46. StommePoes
    11:36
    so the destinations now look like OL>LI>UL(target) which has a li inside it with our definition, now we can add another li inside and the markup's all legal.
  47. StommePoes
    11:36
    Buuut... now NVDA, thinking it's in applications mode, doesn't read out the destinations. So now I'm considering needing to aria-describe stuff now too. Bleh.
  48. StommePoes
    11:37
    I think it's mostly just a support issue, but on top of that, if the general requirement is that these elements have roles (so if we do use divs etc they need some special roles) that sometimes it's hard to think up a role that fits the content.
  49. StommePoes
    11:39
    I don't see the applicable-aria page as saying "you can only use listitmes/treeitems", but I did think that those being suggested might have some ok support.
  50. MichielBijl
    11:40
    Role=dragthingy.
  51. MichielBijl
    11:40
    Might make a good role suggestion
  52. StommePoes
    11:40
    actually, yeah
  53. MichielBijl
    11:41
    Draglist and dragitem?
  54. StommePoes
    11:41
    maybe the draggables would most likely stay listitems or buttons, but the destinations ought to be... drag-destinations or something. So many things could receive draggables.
  55. StommePoes
    11:41
    hm, well then you mighy be overridding good roles
  56. StommePoes
    11:41
    like, if you did start out with a list, that should prolly keep its list/listitem roles
  57. MichielBijl
    11:41
    True.
  58. StommePoes
    11:41
    although... once you've moved everything out...
  59. StommePoes
    11:41
    you'll have a role="list" without the required children
  60. StommePoes
    11:42
    bad HTML and bad roles
  61. MichielBijl
    11:42
    That is an author thing.
  62. StommePoes
    11:42
    I guess JS could remove the ul
  63. StommePoes
    11:42
    yeah
  64. StommePoes
    11:42
    I think of them in my head as two containers
  65. StommePoes
    11:42
    one has terms
  66. StommePoes
    11:42
    the other has definitions
  67. MichielBijl
    11:42
    Grabbed should just work imo
  68. StommePoes
    11:42
    nope, not if you use spacebar
  69. StommePoes
    11:42
    that never reaches the keyup/down listener
  70. StommePoes
    11:43
    because the SR's not passing those on.
  71. MichielBijl
    11:43
    Not saying it does, but it should :p
  72. StommePoes
    11:43
    yeah I agree.
  73. StommePoes
    11:43
    draggable+grabbed should
  74. StommePoes
    11:43
    if it's a draggable thing, this is not unlike an editable thing
  75. StommePoes
    11:43
    and yeah I'd also played with the idea of using contenteditable thingies :P
  76. StommePoes
    11:43
    with like a readonly attr
  77. MichielBijl
    11:43
    Yep. Do you have a test online? Can test with VO
  78. StommePoes
    11:43
    but that didn't make sense.
  79. MichielBijl
    11:44
    Haha, read only content editable?
  80. StommePoes
    11:44
    I have one, be aware it's not my code and right now it has the application role on the first list (you want that off first?)
  81. StommePoes
    11:44
    Yeah such a thing exists
  82. StommePoes
    11:45
    it can put you into a sort of forms/focus mode but content can't be rewritten
  83. StommePoes
    11:45
    just like an input
  84. StommePoes
    11:45
    can also be readonly
  85. StommePoes
    11:45
    with a value inside
  86. MichielBijl
    11:45
    Not sure what VO does. Let me check it as is. I'll complain if it doesn't work.
  87. StommePoes
    11:45
    You want without app role?
  88. StommePoes
    11:45
    I've been working with one doc and changing HTML in it for testing
  89. MichielBijl
    11:46
    Not sure what application role does in VO.
  90. MichielBijl
    11:46
    Haven't tested with that.
  91. StommePoes
    11:46
    ok I'll take it off
  92. StommePoes
    11:46
    it'll be lists and lists, no app role
  93. MichielBijl
    11:46
    Cool.
  94. MichielBijl
    11:46
    I'll get back to my lappy then
  95. StommePoes
    11:47
    sent in private room
  96. StommePoes
    11:47
    lemme know when you want to try it with the appy role, it will be interesting to know how VO works
  97. StommePoes
    11:47
    thing is, FF works with our two SRs
  98. StommePoes
    11:47
    this seems to be by accident
  99. StommePoes
    11:48
    there are mouse listeners, those do get passed on. Lawlz.
  100. StommePoes
    11:48
    according to this http://unobfuscated.blogspot.co.uk/2013/05/event-handlers-and-screen-readers.html you ought to be able to pass on the key stuff regardless of app role
  101. StommePoes
    11:48
    if using saffy
  102. MichielBijl
    11:59
    Works as advertised.
  103. MichielBijl
    12:00
    I was even able to use VO keys + space to select stuff. VO keys + enter didn't work.
  104. MichielBijl
    12:00
    So it works with Safari and VO.
  105. MichielBijl
    12:00
    Doesn't announce anything draggy/droppy related though.
  106. MichielBijl
    12:06
  107. StommePoes
    12:08
    I only get draggy-droppy announcements in IE
  108. MichielBijl
    12:08
    VoiceOver provides captions for that video ;)
  109. StommePoes
    12:10
    Yeah this makes sense, SAffy lets keyup/down through
  110. StommePoes
    12:10
    but IE doesn't
  111. StommePoes
    12:10
    only click
  112. StommePoes
    12:10
    so I'm working on a click-only version
  113. StommePoes
    12:10
    but then this can't follow any of the current guidelines
  114. StommePoes
    12:11
    still, works everywhere > standards
  115. MichielBijl
    12:14
    Mouse works too btw.
  116. StommePoes
    12:15
    mouse seemed ok everywhere
  117. StommePoes
    12:15
    sole issue with the original setup was, nothing keyboardable with SRs in IE
  118. StommePoes
    12:16
    apparently due to only clicks getting through when SRs think they're just sitting on some text
  119. MichielBijl
    12:17
    Can't you bind space/enter to middle mouse or something.
  120. MichielBijl
    12:17
    No wait, that makes no sense
  121. StommePoes
    12:17
    you can set your keylisteners
  122. StommePoes
    12:17
    but the SR never gives them to the browser
  123. StommePoes
    12:17
    unless you wrap role="application" around it
  124. StommePoes
    12:17
    bleh
  125. MichielBijl
    12:18
    Right, I get it.
  126. StommePoes
    12:18
    and that does work, though I'm still not hearing my people in NVDA
  127. StommePoes
    12:18
    JAWS announces the people
  128. StommePoes
    12:18
    NVDA says list itme
  129. StommePoes
    12:18
    so if I end up with the rolly list stuff I may still have to aria-describeby those
  130. MichielBijl
    12:18
    Should I try with happy role? Or doesn't that make a difference?
  131. StommePoes
    12:18
    for VO? It might make some things less read out
  132. StommePoes
    12:18
    if VO does that, I dunno
  133. StommePoes
    12:19
    the draggables will still as they are aria-labelled by themselves
  134. MichielBijl
    12:19
    I can test if you want.
  135. StommePoes
    12:19
    but the destinations might be silent
  136. StommePoes
    12:19
    appy added
  137. StommePoes
    12:19
    same URL
  138. StommePoes
    12:20
    happlication role--- making things tastey
  139. MichielBijl
    12:21
    Same result, but it announces the application role around the items.
  140. MichielBijl
    12:21
    No further difference from the video I sent
  141. StommePoes
    12:21
    hm good
  142. StommePoes
    12:21
    cause it's looking like we have to appify all the things for IE
  143. StommePoes
    12:28
    thanks for the testing
  144. StommePoes
    12:28
    some day I'll get a mac or something
  145. MichielBijl
    12:29
    No problem, happy to help
  146. MichielBijl
    12:29
    Someday I'll install Windows.
  147. MichielBijl
    12:31
    I think I'll actually switch my iMac to Ubuntu. New OS X' aren't running smooth on it anyway.
  148. StommePoes
    12:48
    You did an el capitan upgrade er downgrade?
  149. StommePoes
    12:48
    Husband's client "upgraded" to el cap and does nothing but complain about how slow and breaky his mac is now
  150. StommePoes
    12:49
    I could get NVDA to put itself into app/focus mode with manual roles, yeah. No such for JAWS tho
  151. StommePoes
    12:49
    those sentences need a crowd to cheer and be sad
  152. MichielBijl
    12:49
    Haha
  153. MichielBijl
    12:49
    I can imagine those all by myself.
  154. MichielBijl
    12:49
    Nah it stills runs Yosemite, but it's the 2008 model.
  155. StommePoes
    12:50
    man one of the best things of my windows phone when I took it out of the box was... removable battery!
  156. StommePoes
    12:50
    (crowd cheers)
  157. MichielBijl
    12:52
    A while back I put Leopard—OS it came with—on a partition, runs soooo fast! (crowd cheers) But it isn't compatible with the new iOS' and isn't maintained. (crowd boohoo's)
  158. MichielBijl
    12:53
    So then I might as well transition it to Ubuntu and get more familiar with that so I can do better testing on it. (crowd cheers)
  159. MichielBijl
    12:54
    That should be a thing on doors, like in HHGTTG.
  160. MichielBijl
    12:54
    So if you enter a crowd cheers. And if you leave they boohoo.
  161. StommePoes
    12:57
    You sound like reptevyeh
  162. MichielBijl
    13:00
    Who's that?
  163. MichielBijl
    13:00
    Fiddler on the Roof ?
  164. StommePoes
    13:01
    yeah
  165. StommePoes
    13:02
    Or like Homer Simpson, I think he's had a few conversations where each sentence is "woohoo!" and "d'oh"
  166. StommePoes
    13:03
    Bleh, seriously considering browser sniffing for IE for the applications mode, it makes NVDA work less well
  167. StommePoes
    13:03
    meh, guess everyone gets it
  168. MichielBijl
    13:03
    Or Lois Griffin with her 9/11 speech
  169. MichielBijl
    13:15
    @StommePoes “Lists by definition consist just of zero or more list items”. So list with zero items is still valid.
  170. StommePoes
    13:20
    Oh that's good to know, I've been making empty lists as <ul><li></li></ul>
  171. StommePoes
    13:20
    I thought they were 1 or more items
  172. MichielBijl
    13:22
    Under “Errors that involve a conflict in expressed semantics”
  173. MichielBijl
    13:23
    Also, http://www.w3.org/TR/html/grouping-content.html#the-ul-element talks about allowed content as: “If the element's children include at least one li element: Palpable content”
  174. StommePoes
    13:23
    "so if a ul element contains something other than an li element, it's not clear what was meant." one could argue that with <ul></ul> as well I guess. But in my case it would make sense, the user has emptied that list themselves
  175. MichielBijl
    13:23
    It never explicitly forbids a ulwithout children.
  176. StommePoes
    13:25
    "This requirement is not a hard requirement, however, as there are many cases where an element can be empty legitimately, for example when it is used as a placeholder which will later be filled in by a script, or when the element is part of a template and would on most pages be filled in but on some pages is not relevant."
  177. StommePoes
    13:25
    \o/
  178. MichielBijl
    13:29
    Where'd you find that?
  179. StommePoes
    13:35
    ja
  180. StommePoes
    13:35
    palpable content... just sounds weird
  181. StommePoes
    13:36
    sounds like oatmeal
  182. MichielBijl
    13:37
    Sounds like paper mache
  183. StommePoes
    13:38
    fingerpainting, macaroni faces
  184. MichielBijl
    13:39
    I have a fingerpainting date with a friend
  185. MichielBijl
    13:39
    But now we're just going more and more off-topic
  186. stevefaulkner
    13:45
    hey slackers Bryan G could use some design help https://www.linkedin.com/pulse/seeking-help-from-sighted-designers-web-developers-bryan-garaventa if you have ever tried looking at his stuff you will realise a) that there is useful info b) the design makes it almost unusable
  187. stevefaulkner
    13:49
  188. MichielBijl
    13:51
    @stevefaulkner that's been on my list…
  189. MichielBijl
    13:51
    Ever since my discussion with Bryan about his carousel thingy
  190. MichielBijl
    13:52
    Would be cool if more people helped!
  191. StommePoes
    13:53
    I could style individual widgets but I cannot for the life of me figure out his Javascript. It's too meta for me, a big black box.
  192. MichielBijl
    13:58
    I haven't even looked at the JavaScript.
  193. stevefaulkner
    14:00
    I was just looking in terms of grokking the documentation
  194. MichielBijl
    14:06
  195. stevefaulkner
    14:09
    @MichielBijl Russ Weakley is cool!
  196. MichielBijl
    14:09
    Never heard of him :X
  197. MichielBijl
    14:10
    Besides those slides that is :P
  198. MichielBijl @MichielBijl adds to #a11y list
  199. stevefaulkner
    14:12
    He is an aussie, like me, first conference talk i ever did (http://files.paciellogroup.com/resources/articles/WE05/) was at web essentials 2005 in Sydney, organized by Russ
  200. MichielBijl
    14:14
    Is it bad that I read “The Title attribute what - is it good for?” in Edwin Starr's voice?
  201. MichielBijl
    14:14
    Or was that intended :P
  202. stevefaulkner
    14:14
    as you like
  203. stevefaulkner
    14:16
    i think at the time it was a play on "War what is it good for - absolutley nothing, so yeah :-)
  204. MichielBijl
    14:16
    :D
  205. garcialo
    14:44
    Steve, I love that slide deck
  206. garcialo
    14:44
    @stevefaulkner *
  207. stevefaulkner
    14:45
    @garcialo :+1:
  208. garcialo
    14:46
    It's similar to what I was using originally, but more stylish.
  209. garcialo
    14:47
    and you use pictures; ingenius!
  210. garcialo
    14:48
    er...ingenious*
  211. MichielBijl
    14:49
    Urm, to me it just shows a webpage, not slides
  212. garcialo
    14:50
    And the green you're using #008000 looks similar to the green I use #005010
  213. garcialo
    14:52
    @MichielBijl You just have to use your imagination.
  214. garcialo
    14:53
    And you can tell they're slides because all of their headings are H1s
  215. MichielBijl
    15:25
    I like the last slide.
  216. zakim-robot
    18:44
    [callumacrae] I'm writing an article for a fairly popular article series about accessibility :simple_smile:
  217. zakim-robot
    18:45
    [callumacrae] it's basically going to be a "how to use a screenreader for devs" article
  218. garcialo
    18:45
    sounds great
  219. zakim-robot
    18:46
    [callumacrae] Is it fair to say that most people, if they do anything at all, just run a couple pages of their website through a website which gives them a checklist of things to fix, instead of using a screenreader or hiring a disabled user tester?
  220. zakim-robot
    18:56
    [cordelia] By “most people” do you mean most front-end devs?
  221. garcialo
    18:57
    honestly, I would avoid saying things like "most" without some data, even if just anecdotal, behind it
  222. zakim-robot
    18:59
    [cordelia] Developers I’ve worked with who care about accessibility usually test site with a keyboard and do a brief screenreader manual test to make sure it reads out appropriately. I don’t see many people using tools like WAVE, even though I constantly recommend that they do it. :simple_smile:
  223. zakim-robot
    19:00
    [cordelia] ^ that’s my anecdotal experience
  224. zakim-robot
    19:02
    [callumacrae] most front-end devs, yeah
  225. zakim-robot
    19:02
    [cordelia] I’m excited about this article! A lot of times devs try to test with screenreader but don’t know how to use it properly and get a lot of false feedback.
  226. zakim-robot
    19:02
    [callumacrae] I've only ever met one other person who tests using a screenreader, and he worked at GDS
  227. zakim-robot
    19:05
    [cordelia] Oh interesting. I’ve met several!
  228. garcialo
    19:05
    @cordelia, agreed. They also tend to not know what needs to be read; and from somewhere, they'll get the idea that it needs to say something very specific, so they'll try and make the screen reader say specific things.
  229. zakim-robot
    19:05
    [cordelia] Yes! I’ve heard several times “None of the text is reading out! This must be a bug! Maybe I’ll add tabindex=“0” to the paragraph.” And then I show them how to navigate element-by-element instead of focusable-element-by-focusable-element.
  230. garcialo
    19:05
    oh jesus, yes
  231. zakim-robot
    19:08
    [cordelia] So a lot of devs I know do test with screen readers but haven’t had any training in it. I try to do brief tutorials in person and also point them to WebAIM’s list of keyboard shortcuts, but I also acknowledge that as a sighted web accessibility developer, I am no screen reader expert and sometimes miss things myself.
  232. zakim-robot
    19:08
    [cordelia] @callumnacrae, these “I’m testing with a screenreader but don’t really know what to look for” devs would be a great audience for your post.
  233. garcialo
    19:10
    I usually don't get too detailed about the keyboard shortcuts; really just the basic. Some of your more adept computer users that rely on screen readers might know the tricks, but a lot won't
  234. garcialo
    19:11
    so like tabbing, arrow keys, navigating by headings, Ins+Space to switch modes, and Ins+F7
  235. garcialo
    19:12
    and of course, for NVDA the FocusHighlight plugin, speech viewer, and the other settings for changing what voice is used for pronunciation and of course, the speed
  236. zakim-robot
    19:12
    [cordelia] +1 to @garcialo. Yeah, with VoiceOver I like to show devs the shortcut for the Web Rotor. It’s a really good way for devs to quickly see what links/buttons are lacking text or have redundant text, which images
  237. garcialo
    19:12
    ...oh and Ctrl, the "shut up" button
  238. garcialo
    19:13
    yeah, I usually show NVDA; I don't use VO as much
  239. zakim-robot
    19:14
    [cordelia] Most of the people I’ve worked with are on Macs, so I use VO a lot
  240. garcialo
    19:15
    that makes sense
  241. garcialo
    19:15
    VO is nice
  242. zakim-robot
    19:20
    [cordelia] I think it’s a little bit easier for new users to pick up, too.
  243. garcialo
    19:21
    yeah, especially on iOS rather than on PC
  244. garcialo
    19:21
    imo
  245. garcialo
    19:21
    because people are used to swiping to do stuff
  246. garcialo
    19:22
    but not really used to using keyboard for anything except typing text
  247. deborahgu
    19:26
    yeah, I've been trying to encourage developers to "look, you can use this cool thing on your phone!" But I don't know how much it's been working.
  248. powrsurg
    20:09
    is there any heuristic for getting screen readers to pronounce acronyms correctly? I tried putting it in an <abbr> to see if that would be better. I'm trying to make it pronounce CEUs as "see - E - use"
  249. MichielBijl
    20:18

    [callumacrae] I've only ever met one other person who tests using a screenreader, and he worked at GDS

    You met a bunch of people here, I would bet at least more than one person here tests with SR's ;)

  250. MichielBijl
    20:19

    ...oh and Ctrl, the "shut up" button

    Haha, can I favourite this anyway? I must use that in a presentation if you don't mind.

  251. powrsurg @powrsurg thanks you guys for just mentioning the FocusHighlight plugin for NVDA. It didn't help me figure out where a 'blank' is coming from in NVDA but it is still useful
  252. zakim-robot
    20:47
    [alice] @powrsurg The advice I've heard is basically "don't sweat it, users will figure it out"
  253. powrsurg
    21:02
    eh, I've always taken the "people are dumb" stance when developing stuff. Assuming people are idiots during initial development helps avoid some re-development time later
  254. MichielBijl
    21:04
    Me and @a11ydoer are doing some #a11y testing on icon fonts (font awesome initially) over at GitHub: https://github.com/MichielBijl/font-awesome. Any help would be appreciated—from code, test results, to how to actually do decent testing.
  255. zakim-robot
    21:33
    [alice] @powrsurg Hm, I do tend to hang out with especially tech savvy screen reader users more or less by definition, so you may have a point. But I do hear that folks tend to understand how their screen reader usually reads acronyms/abbreviations and know how to work around weirdness.
  256. garcialo
    21:36
    and there are issues with tailoring your content so that acronyms are readout like you would read them verbally. 1) it won't be the same on other sites that use those acronyms, 2) maybe some people pronounce an abbreviation differently and not the way you've coded it to be said, e.g. a11y
  257. MichielBijl
    21:38
    3) might be different in another language
  258. powrsurg
    22:28
    I can see that point, but CEUs pronounced as "see - E - us" is definitely wrong.
  259. powrsurg
    22:29
    simply a case of how you pronounce a plural acronym.
  260. powrsurg
    22:36
    I've just generally been trying to clean up how things can be pronounced as testing has shown that poor grammar in the output could give a different impression to the user. For instance, we were making our SVG for a bar graph actually have a text node for score chart. We would have values like "30 learners scored a 20" and then "4 learners scored a 25". Without a period after the 20 it was being pronounced as "30 learners scored a 24 learners scored a 25".
  261. zakim-robot
    22:41
    [alice] @powrsurg "CEU's" :stuck_out_tongue: