• Tag Archives Accessibility
  • Windows 10s – A revolution for Accessibility

    Microsoft released the Surface laptop last week. As someone who absolutely loves the Surface Book, I’ve been following with interest the developments in the surface line. I’m not hugely blown away with the Surface Pro line but that’s a reflection of the state of touch screen access using screen readers more than the device itself. Physically, I think the surface pro is very nice to hold, powerful enough to run all standard productivity and development tools and durable enough to be used for both business and pleasure every day. The surface book however is the perfect computer. When relaxing on the bus on the way to and from work I can easily consume content but with this machine, an I7 with 16GB RAM and a 512GB solid state hard disk, I can just as easily run up a few virtual machines, Visual Studio 2017 and a suite of debug and analysis tools and it hardly breaks a swet. It’s perfectly comfortable to type on for 12 hours a day and the battery life is just brilliant. I sound like an advertisement for Surface Book which is fine. It’s easily the nicest laptop I’ve ever owned.

     

    The Surface Laptop doesn’t quite tick all the boxes for me but that’s a good thing at the moment. It is expensive. Maybe too expensive for most people but it’s what it represents that is important. The Surface line is aspirational. It’s expensive but it’s a product line that shows off the power of Windows. It’s Microsoft’s way of showing the world what can be done with devices that run Windows and as a result, PC manufacturers are following their lead. This means that although the Surface Laptop is at the higher end of the price scale, the introduction of Windows10S in parallel means that Microsoft partners are again following Microsoft’s example by releasing their own devices built on Windows 10S. This will mean lower prices for lower spec machines that although do less, still do more than a device like the iPad or Android tablet.

     

    What has all this got to do with accessibility for Blind people? The answer is unfortunately a bit long but please stick with me for a minute so I can explain. Because the result in a year or two could be huge if the current pace of change is retained.

     

    I love the Jaws screen reader for what I do every day. But for many people, all they need to use is a browser and Microsoft Office. I’m not sure if Jaws will be as compelling in the long term as it is right now for the average user with the recent developments in Narrator, the built in screen reader for Microsoft Windows. Not that I’m saying I could personally use Narrator every day. I think it’s still years behind Jaws but look at Voiceover, the built in screen reader for Apple’s OSX and IOS operating systems. It’s also years behind Jaws and it has quite a few bugs but yet, it’s probably the most popular screen reader in the world at the moment. It is highly likely that it has taken over from Jaws in terms of overall screen reader market

    share as more blind users have access to mobile devices than Windows PC’s I’m sure. Those same users might be happy paying $189 to $1200 for various specs of low powered laptops.

     

    For those of you who remember or paid any attention to Windows RT, this really isn’t that. From an accessibility perspective, Windows RT was completely unusable. But with Surface pro, Surface book, the surface studio and now the surface laptop, a blind user can turn it on, hit two buttons and get access to the core of the OS without a commercial screen reader. I bet Freedom scientific are very worried about this – and if they aren’t, they certainly should be.

     

    I’m talking to Microsoft in Ireland and the US every week at the moment about offers for education as that’s the area I’m now working in. I’m consistently delighted when they raise the topic of accessibility without being prompted. There’s a fella heading up the applications for children that includes Minecraft who is great at working on accessibility problems for many difficult areas.

     

    I think it’s a case of watch this space.

     

    I’m also putting my money where my mouth is. There’s an application called Whats up gold that isn’t working with Jaws at all at the moment. I’ve switched to narrator and Edge when using it as I get the best results. This should come as a huge shock for anyone related to the development of Jaws. It certainly shocks me. There are controls that Narrator is reading perfectly such as grid views, tree views and toolbars that Jaws isn’t even seeing in Chrome, Firefox or IE.

     

    I need Narrator to be more responsive and I’ve left feedback with Microsoft in relation to this so here’s hoping that it gets better. I can see myself using it more as time goes on unless Jaws gets a lot better for touch screen access.

     

    I travel a lot on busses so using the laptop isn’t always very comfortable. For that reason, I use a touch screen device such as my phone. I’d really like to be able to use my surface book more for consuming content on the go. If Narrator gives me this freedom first, then there will be no contest.

     

    This is coming from someone who has used Jaws as the primary screen reader for twenty years. So, I have a certain level of brand loyalty. So, the point I’m making is even with brand loyalty from a person who has used this software for 20 years, if Microsoft can take the lead, even I’ll switch. That should drive some serious innovation and changes in Jaws version 19. Because if someone like me will change over, someone who just uses a computer for browsing and Email will change much sooner.


  • Using PuTTY with Jaws 18.

    Please be aware that I don’t recommend that you use PuTTY exclusively for SSH access. Especially in Windows 10. There are a number of better alternatives out there at this point for most day to day use. I’ll add links to one or two below. However, there are times when PuTTY or Putty as it’s pronounced is just the best tool for the job so it’s important that you can get some feedback from Jaws.

    Note as of 26th October 2017

    Please note that this post is now out of date. You should use these fantastic PuTTY scripts instead as they provide much more complete functionality.

    I had posted a script before that worked with previous versions of Jaws and in fact, it would probably work with Jaws 18 as well but the SayNonHighlightedText function in Jaws 18 has been updated so it’s only right that I tweak it slightly and publish it here to be used in a PuTTY.jss file.

    Here’s the code:

    Include “HjGlobal.jsh” ; default HJ global variables
    Include “hjconst.jsh” ; default HJ constants
    Include “HjHelp.jsh” ; Help Topic Constants
    Include “common.jsm” ; message file
    include “MSAAConst.jsh”
    include “UIA.jsh”

    const
    NavigationByLineTickThreshold = 200
    globals
    int LastLineNavigationTick

    Void Function SayNonHighlightedText (handle hwnd, string buffer)
    ; NonHighlightedText Function for speaking all newly written nonhighlighted
    ; text.
    If GetScreenEcho () > ECHO_NONE
    && hWnd == GetFocus()
    If GetWindowClass(GetFocus()) == “PuTTY”
    && GetTickCount()-LastLineNavigationTick > NavigationByLineTickThreshold
    ;New text should be spoken only if it is not a result of navigation by line.
    ;This prevents double speaking when navigating through a command history,
    ;since the SayLineUnit will already have spoken the new text.
    Say(buffer, OT_NONHIGHLIGHTED_SCREEN_TEXT)
    ;Now clear LastLineNavigationTick, just in case more new text appears shortly after the navigation.
    LastLineNavigationTick = 0
    Return
    endIf
    endIf
    if (GetScreenEcho() > 1) then
    Say (buffer, OT_NONHIGHLIGHTED_SCREEN_TEXT)
    endIf
    EndFunction

    There are a number of great alternatives to PuTTY.
    Over on Git Hub, Microsoft have a rather nice SSH Powershell module that provides a method of accessing an OpenSSH server on Linux from within Powershell.
    The best way to use SSH on Windows in my opinion is to install Git. Be sure that you choose to make git features available from the command line so that you can use SSH without starting the Git Bash shell first.
    Lastly, another really good option if you are using Windows 10 is to install Bash or Linux for Windows. This is an add on that you can install from within Programs and Features\Windows Features.

    There are now more ways than ever to access your Linux servers over SSH from within Windows. Have fun!


  • Jaws scripts to virtualize list view items.

    In work at the moment, I spend a huge amount of time in massive list views. These list views could have thousands of items and up to 256 columns. At first, reading them with Jaws was one of the most stressful things I’ve ever done. The customize list view scripts don’t work because of a bug in the user interface of this application. Every time focus changes to or away from the main application, the control that previously had focus will no longer have it when you return to the main window. It is a torturous situation to be in because when I’m in this application, I need information quickly and accurately. Also, most of the columns contain numbers that are very important so for the first week or two of starting in my new job you’d find me with my head down in major concentration mode trying to listen to Jaws fly through all the columns so I could pick out the tiny nugget of information that I needed from column 10 or worse, 210. I’d finish the day completely exhausted from this effort so I badly needed a solution.

    Jaws has a script that will allow you to read the first ten columns of a list view but this is stupidly limited when you consider that this only allows a user to intentionally work with ten list view columns. What I needed was a script that would let me walk forward and back through each column from the beginning to the end of that item. If I found something that I needed, I could then listen to it and it would be clear. You would not believe how much easier this made my day. However, it became clear that I couldn’t always trust myself to remember all the information that I was being given by Jaws when working through these list view items so I decided to expand the script a little to add the current column into the virtual viewer. This is handy as I can then examine the text character by character if I need to and I can use the clipboard to store that text if I need to use it in notes or SQL statements that will pull more information from the database again, this minor change made things much easier for me.

    However, there was one more thing that I needed. When sighted people were using these lists they could compare two items visually much faster than I could with my scripts. Yes, the column I was on was retained even when I was on different list items so say / virtualize current column worked very well. However, it wasn’t quite what I needed for every situation. The next solution has proven to be even more helpful than the first. Now, when I choose to, I can virtualize the entire list item so using the virtual viewer, I can arrow up and down the list of column headers and the text within each one to get the data in the best format for me to understand quickly. Thanks to some excel queries, I can virtualize two columns then use a dif function to work out the differences much faster than anyone who can see.

    These scripts have actually changed the way I work with list views. I really hope they are helpful to you.

    Disclaimer: I won’t support these. I’m not a script writer; I sometimes manage to scrape scripts together with the help of others or by taking script chunks from existing scripts written for Jaws. In this instance, I butchered a few other scripts to make these. Moving back and forward through list items works very well but for some reason, the count is slightly off so you may find that you need to move to the next list item twice to make it actually go forward.

    I added these to my default scripts because I needed this functionality in a number of applications after a while. Add them where ever you like. At the top of your file in the globals section, you need to declare a variable for holding the current list column number. The line is below:


    int CurrentListColumn

    Remember to add a comma from the previous variable declaration or your script won’t compile.

    Here are the scripts. Add them to the bottom of the default file if you choose to use that. Remember to also assign keyboard commands to each script. I’m sorry, but if you aren’t particularly sure how to do this, you may need to ask the Jaws script mailing list or read the script help topics. I cant promis to help you out as I’m busy enough as it is.


    Script ReadNextListviewColumn ()
    var
    int nCol,
    int nMaxCols,
    string sHeader,
    string sText,
    handle hCurrent,
    int nCurrent
    If (CurrentListColumn<1) then CurrentListColumn = 1 EndIf If !(GetRunningFSProducts() & product_JAWS) then return EndIf let hCurrent=getCurrentWindow() if !IsTrueListView(hCurrent) then sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S) return endIf let nMaxCols=lvGetNumOfColumns(hCurrent) let nCurrent=lvGetFocusItem(hCurrent) let nCol=CurrentListColumn let sHeader=lvGetColumnHeader(hCurrent,nCol) let sText=lvGetItemText(hCurrent,nCurrent,nCol) say(sHeader,OT_NO_DISABLE) say(sText,OT_NO_DISABLE) say(IntToString(CurrentListColumn),OT_NO_DISABLE) if (nCol < nMaxCols) then CurrentListColumn = CurrentListColumn + 1 EndIf if (nCol > nMaxCols) then
    SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
    return
    endIf
    EndScript

    Script ReadPreviousListviewColumn ()
    var
    int nCol,
    int nMaxCols,
    string sHeader,
    string sText,
    handle hCurrent,
    int nCurrent
    if (CurrentListColumn > 1) then
    CurrentListColumn = CurrentListColumn - 1
    EndIf
    If !(GetRunningFSProducts() & product_JAWS) then
    return
    EndIf
    let hCurrent=getCurrentWindow()
    if !IsTrueListView(hCurrent) then
    sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
    return
    endIf
    let nMaxCols=lvGetNumOfColumns(hCurrent)
    let nCol=CurrentListColumn
    let nCurrent=lvGetFocusItem(hCurrent)
    if (nCol < 1) then let nCol=1 endIf if (nCol > nMaxCols) then
    SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
    return
    endIf
    let sHeader=lvGetColumnHeader(hCurrent,nCol)
    let sText=lvGetItemText(hCurrent,nCurrent,nCol)
    say(sHeader,OT_NO_DISABLE)
    say(sText,OT_NO_DISABLE)
    say(IntToString(CurrentListColumn),OT_NO_DISABLE)
    EndScript

    Script VirtualizeCurrentListColumn ()
    var
    int nCol,
    int nMaxCols,
    string sHeader,
    string sText,
    handle hCurrent,
    int nCurrent

    If !(GetRunningFSProducts() & product_JAWS) then
    return
    EndIf
    let hCurrent=getCurrentWindow()
    if !IsTrueListView(hCurrent) then
    sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
    return
    endIf
    let nMaxCols=lvGetNumOfColumns(hCurrent)
    let nCol=CurrentListColumn
    let nCurrent=lvGetFocusItem(hCurrent)
    if (nCol < 1) then let nCol=1 endIf if (nCol > nMaxCols) then
    SayFormattedMessage(OT_ERROR,formatString(cmsgListviewContainsXColumns_L,intToString(nCol),intToString(nMaxCols)),formatString(cmsgListviewContainsXColumns_S,intToString(nCol)))
    return
    endIf
    let sHeader=lvGetColumnHeader(hCurrent,nCol)
    let sText=lvGetItemText(hCurrent,nCurrent,nCol)
    say(sHeader,OT_NO_DISABLE)
    say(sText,OT_NO_DISABLE)
    say(IntToString(CurrentListColumn),OT_NO_DISABLE)
    UserBufferClear ()
    UserBufferAddText (sHeader)
    UserBufferAddText (sText)
    UserBufferActivate ()
    SayLine ()
    EndScript

    Script VirtualizeAllListColumns ()
    var
    int nCol,
    int nMaxCols,
    string sHeader,
    string sText,
    handle hCurrent,
    int nCurrent

    If !(GetRunningFSProducts() & product_JAWS) then
    return
    EndIf
    let hCurrent=getCurrentWindow()
    if !IsTrueListView(hCurrent) then
    sayMessage(OT_ERROR,cmsgNotInAListview_L,cmsgNotInAListview_S)
    return
    endIf
    let nMaxCols=lvGetNumOfColumns(hCurrent)
    let nCol=1
    let nCurrent=lvGetFocusItem(hCurrent)
    UserBufferClear ()
    while nCol<=nMaxCols let sHeader=lvGetColumnHeader(hCurrent,nCol) let sText=lvGetItemText(hCurrent,nCurrent,nCol) UserBufferAddText (sHeader) UserBufferAddText (sText) LET nCol = nCol + 1 EndWhile UserBufferActivate () EndScript


  • An introduction to Android and accessibility with talk back.

    In this podcast I wanted to give you a sense of what I like and what I don’t like about the Android operating system. I’m using the talk back screen reader so my perspective will be mostly focused on accessibility of the platform and apps for this particular introduction.

    Listen to my introduction to Android and accessibility.


  • A draft introduction to Android accessibility with Talkback.

    This is by far one of my weaker podcasts but it’s late! Give me a break! I just wanted to set up the equipment and get the ball roling. Please leave me your comments, suggestions, questions and ideas. I will definitly cover more about this platform over the next few days.

    My thanks to users of this platform for answering my many questions. Please visit The blind geek zone for a very interesting podcast by Mike Arrigo. He does a much better job than I have done introducing the platform.

    Listen to the first introduction to Android and talkback.

    Again, sorry if I sound tired and half a sleep. I’ll provide a better introduction shortly.


  • Jaws 14 now requires Internet Access to run.

    I have encountered a problem with using Jaws on servers since the release of Jaws 14.

    fsbrldspapi.dll is loded by Jaws during Installation if your installing it while standing in front of the server but if your installing Jaws remotely using the /type remote switch the installation doesn’t speak or provide Braille output. Therefore the fsbrldspapi.dll file will be loded when you run Jaws for the first time.

    When you are installing or running Jaws on a system be it a server or workstation running on Windows 2008, 2008R2, 7 or 8 without Internet access you will encounter the following error message:

    JFW.EXE. Referral returned from the server.

    It would appear that this issue began popping up around April with an update of Jaws 13 that was released around that time.

    The problem is that the Jaws driver signing program requires trusted certs that are downloaded from Microsoft on an as needed basis.

    More details about how trusted certs are downloaded in Windows 2008 and 2008R2 can be found at the following Microsoft KB link:
    http://support.microsoft.com/kb/931125

    In previous versions of Windows up to XP and 2003 Windows updates included these certs.

    However, it would appear that it is all but impossible or at best very difficult to apply these certs to servers that are off line. The only way I can see of doing it at the moment is to find the required cert and install it on each system. Probably through a SCCM advertisement.

    I have asked FreedomScientific to get back to me on this but although I know that a lot of their staff are on vacation this week due to the thanks giving holiday I have no confidence that they will resolve this new dependency.

    In my opinion this is a bug that should be resolved. At the very least, a specific error message should be provided when Jaws cannot start due to this issue. What really should happen is that when certs can not be used Jaws starts as much functionality as possible without loding this DLL. In other words Braille wouldn’t be available.

    I know that some users really need braille and I’m being a bit selfish here so I’m really sorry.

    I have reported a large number of bugs to FreedomScientific since the release of Jaws 14. I am hoping that they will be resolved however I get the usual answer of “No one else has reported this” and “We cant reproduce that problem here”. I feel like i’m fighting an up hill battle.

    If anyone has any suggestions then I’m all ears. Otherwise, if you could Email FreedomScientific support with any problem your having with Jaws 14 we might get some pressure put on the developers to prioritise a bug fixing excersize.


  • Continuation of Mixing the old with the new. Nokia C5 and iPhone 4S.

    There were a few interesting questions and points made as a result of my post yesterday. Firstly, let me just remind readers that I love getting your Emails and phone calls but it would be nice if you would comment on the site instead of contacting me privately so as other readers can have the benefit of reading your questions and observations.

    Firstly, Jenny asked if the C5 has wifi. NO. It doesn’t although as I’m not using this phone for any data usage this actually makes no difference to me. I’m interested in what you might use wifi for though. Are there apps on the S60 platform that you would use?

    Nicky touched on the idea of using an iPod for listening to Music and using Apps. This is a very good idea. The iPod is smaller, lighter and cheaper and if you’re not using it for phone calls or texting then there’s no need for 3G. However, the iPhone battery lasts for a very long time when not used as a normal phone and there is nothing that the iPhone can’t do that the iPod does so there’s no need to change over if you already have an iPhone. Also, because I could potentially change back to the thinking that one device is just more convenient selling the iPhone would be a mistake because a 64GB iPhone 4S is not a cheap toy at all. I’ve already done this in the past. I moved back to a Nokia phone for a while about three or four years ago but after a while I missed the power of the iPhone so I went back again. However, at that time, I wasn’t running both phones simultaneously so things may be different this time. For me, the iPhone has almost become essential. I use Facetime with sighted people when I need something looked at, I use the many social networking aps to stay in contact with people, I read the local and national news, I keep up to date with Email and I even use it for GPS occasionally. However, I have a tip for you. I have a wireless Vodafone dongle. I usually have my laptop with me when traveling to and from work and this wireless dongle has a nice place in that laptop case. When I really want Internet access on the iPhone while traveling I just turn on that wireless dongle, connect to it from the iPhone and I have the same data access as I had when using it as a phone. Really, the only down side to this is that I have a few more devices to carry around. However, this is more than made up for by the efficiency of being able to make and receive calls and write text messages quickly and comfortably. I’ve been using this method now for just over a week and so far it’s working quite nicely. However, ask me again in a month. Maybe by that time I’ll be tired of carrying an extra phone around with me.

    Just one more note. I have given serious consideration to an iPad or an iPad mini however as a blind person I simply can’t understand why one of these devices would be appealing to me. The larger screen makes absolutely no difference. Why not just use an iPhone or an iPod. The iPad mini feels lovely and sexy. It’s slim, curved and light but once you get over that what’s the benefit if you can’t see the screen?


  • Window Eyes verses Jaws?

    It’s that time again.
    Do I spend €445 on a Jaws upgrade and another SMA or do I move to a rival screen reader. Really, Window Eyes is the only application that comes close to competing with Jaws in my experience so it is the only one I am considering. Hal by Dolphin is just so far behind that I haven’t given it a second thought. This is just my opinion though. If your going through a similar decision then I encourage you to keep all of your options open.

    I’ve downloaded a demo of Window eyes and I’m currently running it through it’s paces. I’ll have to blog about this in more detail but right away, I miss some of the more advanced features of Jaws that don’t just make applications accessible, they make applications more intuitive and more efficient. When I talk about access, I don’t just need the basic screen reading functionality, I need an application to assist me in accessing data as quickly as possible.

    I like some features of Window eyes though. For example, the open scripting framework allows for standard development languages to be used. This is a major selling point.

    I’ll write about this in a little more detail over the next few days I hope.


  • Using the Tilda terminal in Linux with full accessibility for Orca users.

    This post was origionally written on friday the 29th of February 2008 however over the past few years it got lost due to blog upgrades. Because I’ve noticed a few people looking for this information I thought it would be a good idea to post it again.

    Yesterday, I decided to play around with a package called Tilda.  Tilda is a graphical console for the Gnome desktop.  It runs on KDE as well but its GTK based.  The main advantage it gives is more bells and whistles for people who like visual effects.  No, I’m not in to visual effects for obvious reasons however I was curious and I like the speed that it launches at


    After installing it yesterday, I was very happy to see that Orca worked with it right away.  When I ran Tilda for the first time, I was given a configuration wizard screen.  Orca spoke all of the focusable objects as if they were made for each other.  In the terminal it’s self, flat review could be used to read the console as you would expect with any accessible application.  Only problem was that Orca didn’t automatically speak new text as it was written to the screen.


    To try to rectify the situation, armed only with my Windows screen reader knowledge and my curiosity, I renamed the gnome-terminal.py file to tilda.py.  That didn’t do anything for me.  However, thinking back, I wonder if it didn’t do anything for me because I didn’t restart Orca first before trying tilda again.  My thinking behind this attempt was that Windows screen readers such as Jaws versions before 7 and Window Eyes used a script or macro type function that was more or less tied to the executable of the application.  For example, if notepad.exe was run, Jaws / Window eyes would run the settings / scripts for that file if it found a file named notepad.jsb or notepad.001.   This has changed in later versions of Jaws and Window eyes however I assumed that it was possible that the logic was similar in Orca.    That didn’t work though so I sent a brief email to the Orca discussion list asking for their suggestions. 


    Rich Burridge, an Orca developer, took some time out of his busy day to help me.  With some research, he determined that Tilda actually used VTE (Virtual Terminal Emulator) This is also used by Gnome-Terminal and has a lot of accessibility support already.  This meant that it was probably fine to use the Gnome-terminal script as it would most likely behave the same.  Only one small change was required.  He suggested that I add a few short lines to my orca-customizations.py file.  Look at the end of this post for the specific code.
    I want to take this opportunity to describe to you how Gnome accessibility differs from that provided by windows screen readers as in Windows, just copying this script from one application to another expecting it to behave the same would be completely unheard of.  Windows screen readers provide accessibility in windows. In Linux”, it’s gnome that provides its own accessibility.  Orca takes advantage of this and provides output customized to ensure that users receive the information they need in a way they can understand.  That’s the short version.  Now for some description. 


    In windows, if you are using a screen reader like Jaws and an instant messaging program like MSN for example, Jaws needs to monitor very high level behavior.  I.e, it needs to track changes to the interface, read text from the status bar, monitor the entire conversation history area and a lot more.  It does this to ensure you hear status updates, incoming messages, Contact information and of course, at times, it needs to keep track of your own actions so it can tell you where you are in any given window.  Most of this information is obtained by analyzing the interface.  Only a very small percentage of what Jaws gets from windows is obtained from information that the application or operating system gives it.  In other words, MSN does not communicate with Jaws to tell it that a new message has arrived.  Jaws determines this by watching for changes on the screen.


    Gnome on the other hand is completely different.  It provides assistive software such as the Orca screen reader with information so that it can relay this to the user.  In the gnome messaging client, pidgin, Orca is informed when a new message is sent to the message history window.   It then has events determined by scripts to tell it what to do with this information.  So, it doesn’t matter how you have pidgin configured, it will still send this information to Orca which in turn will relay it to the user.  So, bringing it back to the terminal, it doesn’t matter that Gnome Terminal is completely different to Tilda.  Tilda uses different colors, different positioning and a lot of eye candy.  It really doesn’t matter though as it utilizes this VTE that provides the required accessibility information to Orca! 


    I should also say here that although my description of the differences between how Windows and Gnome behaves should be accurate, I can’t say it with full certainty.  I’m not a developer and if you are really interested in the low level workings of the Gnome window manager and how it provides accessibility, I’d suggest you look into subscribing to the orca mailing list.


    That’s all the background and descriptions out of the way.  If you’re interested in getting up and running with tilda and Orca, use the following instructions:




    1. Go into a terminal.

      1. Press alt and F2 when in the Gnome desktop.
      2. Type gnome-terminal
      3. Press enter.

    2. Install the tilda terminal.

      1. Type apt-get install tilda
      2. Press the enter key.  When prompted to confirm the package download and installation, type the letter y and again, press enter.
      3. Exit the terminal window.

    3. Instruct orca to run the gnome-terminal.py script when you run tilda.

      1. Press alt f2 to start the run dialogue box.
      2. Type gedit then press enter.
      3. Paste the below code into the editor.

        import re
        import orca.settings
        from orca.orca_i18n import _
        orca.settings.setScriptMapping(re.compile(_(’tilda’)), “gnome-terminal”)

      4. Save the document by pressing control and s.
      5. Exit gedit by pressing alt and f4.

    4. Run the tilda terminal.

      1. Press alt f2 to start the run dialogue box.
      2. Type tilda and press enter.


    You’re done.  You are now in the tilda configuration screen.  Configure the package to your own preferences then use the ok button to save your changes and start the tilda terminal.  This wizard will not be shown automatically again when you run tilda.  To bring up the wizard, type tilda –C in the launch application dialogue box accessible with Alt F2.


    I think that should be clear enough.  Any problems or questions feel free to leave a comment and I’ll try to get to them.


    My thanks to Rich Burridge who so generously helped with this.  Without his help I’d probably be working at this still.


  • A review of the Mini-Guide

    I first wrote this review in 2004 but it got lost somewhere during site moves etc. I will hopefully post a number of pages and reviews that have been lost over time during the next week or two.

    A mobility aid to be used in conjunction with either a Cain or Guide Dog

    Introduction

    The Miniguide is a device which detects objects within a maximum distance of four meters. It is about the size of a box of matches with two small round sensors at the front. There are two versions: Type 1 gives audible feedback using a combination of tones to help judge the distance between objects. The second type uses vibrations. The closer you get to an object the faster the vibrations pulse. These two versions can allow a person who is blind to, (with practise,) confidently judge the distance between their surroundings and the aid.

    Practical uses

    Since having the aid I have tried to use it in as many different environments as possible using both Guide dog and Cain. Below are some of the experiences I’ve had with it.

    In conjunction with the Cain this is a powerful tool that when utilized to its full potential can greatly decrease the number of obstacles you come in direct contact with. However it does take time and practise to recognise distance by relying on pulses. For this reason I started using the Miniguide on a reasonably straight route with a minimum of major obstacles. The first thing that I noticed when using the four meter setting was the dependability of this small device. After the third time of walking the route I had determined that trees planted on a grass verge could give me a more accurate land mark for finding crossings and eventually without noticing it I was walking down the centre of the foot path keeping the wall on my left at a good distance by keeping the pulses at a steady rate. A quick wave of my left hand bought the trees on my other side in view. From counting trees along the road to finding the corner the Miniguide is just as responsive and helpful. Following the wall on one side and waiting for the pulses to stop signifying the end of the obstacle I was able to confidently turn the corner while remaining roughly in the centre of the path. Finding openings for example door ways can take a bit more practise. Users should become familiar with the four main levels of sensitivity before attempting this. It is also important to note that the further away from an opening the harder it becomes to detect. This is because as the beam radiates from the front of the device, it gets wider. Thus that on the four meter setting standing four meters away from an opening that is three meters wide will result in the beam hitting off the sides therefore if you are not sure an opening exists you will miss it. This is not a design flaw. It has been made part of the features of the unit. The developers say that it is better to miss an opening than to miss a narrow object such as a pole or tree. I have suggested that in other versions of the unit an option be given to users to change the width of the beam as well as the length.

    In conjunction with a guide dog this aid can drastically improve a persons confidence when navigating around off curb obstacles. ] Off curb obstacles are obstacles which do not allow the guide dog and handler to pass without stepping off the curb. Although the majority of obstacles are easily negotiable in other words guide dogs are trained to guide the handler around them, some obstacles demand a bit more awareness of the general area before a guide dog user can comfortably give the appropriate commands to his or her dog. The Miniguide can help by giving the user an accurate understanding of the distance between the obstacle and the unit and can also ensure the dog is choosing the best route around. It is important to stress that the Miniguide will only give you a certain amount of information about the area. Remember that the dog has most likely chosen the best route around the obstacle. I strongly suggest that the unit only be used to further increase your confidence while navigating around these obstacles. Another advantage to using this aid is when learning new routes. As the Miniguide is an obstacle detector it can help you follow land marks such as trees, poles, bins and other similar structures. On a recent stay in Dublin a group of Friends and I was staying in a Bed and Breakfast which did not have any discernable land marks around it. The best way of finding the house was by counting the number of trees located on the outer curb. The path was approximately two meters wide and each tree was located in a square meter of grass. As my guide dog was new to this area I wanted a backup method of finding the house. Using the Miniguide I was able to count the three trees and one pole. Using that information I could then tell the dog to find the steps to the left which led up to the house.

    When in doors the Miniguide can be very distracting. Because it is so sensitive it detects everything in enclosed spaces. Using the half meter mode can drastically reduce this distraction but it leaves you less time to react to the detected obstruction. While using a Cain the guide was most useful in situations where following a wall or even following a person at a fast pace was required. This takes a lot of practise and concentration but once mastered can be very helpful. Again, finding doors using the unit is difficult but very possible with some determination and practise. Using the Miniguide in doors with a guide dog is frankly pointless. Depending on the partnership with your dog of course. While testing the guide I did not have any use for it while in side as my dog was more than capable of guiding me around comfortably. As the areas that I walk around while in doors are generally crowded I felt that spending more time concentrating on the direction that my dog wanted to take me and keeping him relaxed bought better results.

    Walking in crowds out side using the Cain and the Miniguide can be very easy with time and practise. The Miniguide is very useful when finding openings that you can walk threw and for detecting stationary pedestrians. Using the Miniguide with a guide dog out side when navigating around crowds can be just as useful. Although I have to stress again that you should not always depend on the information you receive from the Miniguide it can be useful for detecting openings in crowds.

    I have warned you to be ware while using the Miniguide in conjunction with a guide dog after consulting the Irish guide dogs for the Blind. A guide dog generally knows more about the area that you are in than you. Giving him or her commands that they can’t carry out may damage their confidence. The Miniguide can be a very useful tool but only when adequate time and practise is allotted to using it. If you are considering using this unit in conjunction with either a Cain or a guide dog you should contact a trainer qualified in the area of guide dog or Cain mobility.