[INFORMATION] [TITLE]Untitled [AUTHOR] [COMMENT] [END INFORMATION] [SUBTITLE] 00:00:00.106,00:00:04.09 Hello. In this screencast I will accercise a common desktop component, 00:00:04.09,00:00:06.599 and discover potential accessibility issues. 00:00:06.599,00:00:11.34 It is very hard to avoid uncovering such issues, as we will demonstrate now, 00:00:11.34,00:00:13.34 with the "File open" dialog. 00:00:13.34,00:00:16.72 We will invoke the file open dialog through gedit. 00:00:27.675,00:00:32.181 Before we actually start accercising we could already find a few potential 00:00:32.181,00:00:35.693 weak spots where we know we might have some accessibility issues. 00:00:37.113,00:00:40.838 There are two unlabeled buttons in the top left corner 00:00:40.838,00:00:47.12 of the dialog, and right now we are going to see if these buttons are labeled correctly 00:00:47.12,00:00:51.553 with Accerciser, so an assistive technologies could actually access them. 00:00:56.237,00:01:00.991 So if we put the mouse pointer over the button we want to examine 00:01:00.991,00:01:02.991 and press control-alt-question mark, 00:01:04.185,00:01:09.10 Accerciser will update, through the quick select plugin, to the actual 00:01:09.152,00:01:13.232 accessible, and as you could see, the accessible already has a name 00:01:13.232,00:01:17.384 which makes sense, "type a file name", and in the interface viewer 00:01:17.419,00:01:21.961 you could look a bit further at the accessible, and see that besides the name 00:01:21.961,00:01:23.961 there is also a description. 00:01:24.764,00:01:27.673 So this toggle button is pretty well described. 00:01:27.673,00:01:31.115 And an AT will see easily what it does. 00:01:31.150,00:01:33.350 Let's move on to the next unmarked button. 00:01:38.672,00:01:45.59 Alright, we found an nmarked button, that has the role of "push button", but does not have any 00:01:45.59,00:01:48.891 accessible name, let's check if it has a description. 00:01:48.891,00:01:50.891 Nope, no description. 00:01:51.410,00:01:55.916 One last thing, we could also check the "Text" interface to see if it provides information. 00:01:57.371,00:02:01.61 Nope, the text interface returns an empty string. 00:02:03.119,00:02:08.441 So we could pretty easily assert, that this button over here, that's unlabeled, 00:02:08.441,00:02:13.869 is inaccessible, and when a screen reader reaches it, it will basically say bushbutton, and nothing else. 00:02:13.869,00:02:17.98 And it's not going to give any informative information to a screen reader user. 00:02:18.127,00:02:25.365 Let's click it and see what we should write in a bug report as to how it should be labeled, or named. 00:02:26.572,00:02:33.242 So I guess it expands the entire location button area. 00:02:33.242,00:02:37.287 You could find a simple way of describing that, and, 00:02:37.287,00:02:41.687 define that as the accesible name that should be used, in the bug report. 00:02:42.396,00:02:47.257 We just discovered another unlabeled button that has a picture of a hard drive. 00:02:47.257,00:02:49.257 which brings us to the root directory. 00:02:49.257,00:02:52.544 Let's see, yup, it brings us to the root directory. 00:02:53.182,00:02:56.234 Let's examine this and see if it gives us any useful information. 00:03:00.101,00:03:04.962 Ok, this time it's a toggle button, and, we don't have an accessible name. 00:03:06.27,00:03:08.439 There is no description... 00:03:10.462,00:03:13.939 And the text interface is not really returning anything. 00:03:14.10,00:03:19.226 So we know that this toggle button is also problematic. 00:03:22.738,00:03:26.144 The next weak spot that is fairly easy to discover in a UI is 00:03:26.144,00:03:29.54 a label which labels, that means a label 00:03:29.54,00:03:34.163 that actually labels another component in a certain context. 00:03:34.305,00:03:37.321 You could see that the "character coding:" over here basically 00:03:37.321,00:03:41.791 describes this combo box that says right now "auto detect". 00:03:41.862,00:03:46.191 If "character coding:" does not have a explicitly defined relation 00:03:46.191,00:03:51.265 with "auto detect" and vice-versa, we will not be able to know 00:03:51.300,00:03:55.629 that this label basically is describing this component, 00:03:55.629,00:04:02.619 and a screen reader user is not going to understand what that combo box is for. 00:04:03.116,00:04:06.735 So let's examine this label, and see if any relation is defined. 00:04:10.567,00:04:16.385 Ok, over here in the relations view, we could see that there is a "label for" relation 00:04:16.385,00:04:21.921 with the "auto detected" combo box. 00:04:22.98,00:04:26.36 Click "Show" over here, and we will jump straight to the combo box. 00:04:26.36,00:04:29.443 And we could see that it's relation is "labeled by", 00:04:29.443,00:04:33.487 and it's labeled by that exact same label. 00:04:33.487,00:04:43.138 So as you could see, this relationship is defined correctly.