Jak możesz programować, jeśli jesteś ślepy?


685

Wzrok jest jednym z zmysłów, które większość programistów bierze za pewnik. Większość programistów spędza godziny patrząc na monitor komputera (szczególnie w czasie, gdy znajdują się w strefie ), ale wiem, że są niewidomi programiści (np. TV Raman, który obecnie pracuje dla Google).

Gdybyś był osobą niewidomą (lub powoli stawał się niewidomy), jak skonfigurowałbyś swoje środowisko programistyczne, aby pomóc ci w programowaniu?

(Poproszę jedną sugestię na odpowiedź. Celem tego pytania jest wyniesienie dobrych pomysłów na szczyt. Ponadto czytniki ekranu mogą wcześniej przeczytać dobre pomysły).

Odpowiedzi:


1017

Jestem całkowicie niewidomym studentem, który odbył kilka staży programistycznych, więc moja odpowiedź będzie na nich oparta. Używam Windows XP jako mojego systemu operacyjnego i Jaws do czytania tego, co pojawia się na ekranie w syntetycznej mowie. Do programowania w Javie używam Eclipse, ponieważ jest to w pełni funkcjonalne IDE, które jest dostępne.

Z mojego doświadczenia wynika, że ​​ogólnie programy Java, które używają SWT jako zestawu narzędzi GUI, są bardziej dostępne niż programy korzystające ze Swinga, dlatego trzymam się z dala od netbeans. Do dowolnego programowania .net używam visual studio 2005, ponieważ była to standardowa wersja używana na moim stażu i jest bardzo dostępna za pomocą Jaws oraz zestawu skryptów, które zostały opracowane w celu ułatwienia dostępu do takich elementów, jak projektant formularzy.

Do programowania w C i C ++ używam cygwin z gcc jako moim kompilatorem, a emacs lub vim jako moim edytorem, w zależności od tego, co muszę zrobić. Wiele moich praktyk dotyczyło programowania w systemie Z / OS. Użyłem sesji rlogin przez Cygwin, aby uzyskać dostęp do podsystemu USS na komputerze mainframe i C3270 jako mojego emulatora 3270, aby uzyskać dostęp do części ISPF na mainframe.

Zwykle polegam na mowie syntetycznej, ale mam wyświetlacz brajlowski. Uważam, że zwykle pracuję szybciej z mową, ale używam brajla w sytuacjach, w których interpunkcja ma znaczenie i komplikuje się. Przykładem tego są instrukcje z wieloma zagnieżdżonymi nawiasami i JCL, w których interpunkcja jest niezwykle ważna.

Aktualizacja

Gram z Emacspeak pod cygwin http://emacspeak.sourceforge.net Nie jestem pewien, czy będzie to przydatne jako edytor programowania, ponieważ wydaje się, że jest trochę niereagujące, ale nie spojrzałem na żadną z opcji konfiguracji jeszcze.


275
naprawdę niesamowite . gratulacje!
czai się

31
Mając niewidomego ojca, który był bardzo świadomy komputera i wiedział, przez co przeszedł, aby uzyskać dostęp do systemu Windows, twoja konfiguracja mnie zadziwia. gratulacje! :)
geocoin

118
Zakładając, że używasz również laptopów: czy kiedykolwiek wyłączasz wyświetlacz, aby przedłużyć żywotność baterii? Ponieważ byłoby to tak wielkie zwycięstwo.
Jens Roland

99
To pierwszy raz w SO, że odpowiedź spowodowała opadnięcie szczęki.
Amy

65
Nie miałem pojęcia, że ​​to możliwe. Nie zapomnę już o dostępności.
ChaosPandion,

400

Jestem niewidomy i programuję od około 13 lat w systemach Windows, Mac, Linux i DOS, w językach C / C ++, Python, Java, C # i różnych mniejszych językach. Chociaż pierwotne pytanie dotyczyło konfiguracji środowiska, myślę, że najlepiej na nie odpowiedzieć, patrząc na to, jak niewidoma osoba użyłaby komputera.

Niektóre osoby używają środowiska mówienia, takiego jak TV Raman i środowisko Emacspeak wspomniane w innych odpowiedziach. Zdecydowanie bardziej powszechnym rozwiązaniem jest posiadanie czytnika ekranu, który działa w tle, monitorując aktywność systemu operacyjnego i ostrzegając użytkownika za pomocą syntetycznej mowy lub fizycznego wyświetlacza brajlowskiego (zwykle wyświetlając od 20 do 80 znaków na raz). Oznacza to, że osoba niewidoma może korzystać z dowolnej dostępnej aplikacji.

Tak więc osobiście używam Visual Studio 2008 i uruchamiam go z kilkoma modyfikacjami. Wyłączam niektóre funkcje, takie jak wyświetlanie błędów podczas pisania, ponieważ uważam, że to rozprasza. Przed dołączeniem do Microsoftu cały mój rozwój był wykonywany w standardowym edytorze tekstów, takim jak Notatnik, więc po raz kolejny nie było żadnych dostosowań.

Możliwe jest skonfigurowanie czytnika ekranu w celu ogłoszenia wcięcia. Ja osobiście nie używam tego, ponieważ Visual Studio się tym zajmuje, a C # używa nawiasów klamrowych. Ale byłoby to bardzo ważne w języku takim jak Python, w którym białe znaki mają znaczenie. Wreszcie Emacspeak używa różnych głosów / tonów, aby wskazać różne części składni (słowa kluczowe, komentarze, identyfikatory itp.).


5
Notatnik, wow. Czy kiedykolwiek używałeś fizycznego notatnika do pisania kodu (powiedzmy, rysikiem brajlowskim?) Czy używasz IntelliSense? Jak szybko mówi twój czytnik ekranu?
Kragen Javier Sitaker

6
Cześć Saqib, podobał mi się twój wywiad na Hanselminutach (zakładając, że jesteś tym samym facetem :). Wskazówka ctrl-shift-escape była dla mnie nowa!
UpTheCreek

5
UpTheCreek odnosi się do: channel9.msdn.com/blogs/dan/…
idbrii

26
Jaką część programu trzymasz w głowie i ile musisz odświeżyć podczas pracy? Jak widząca osoba, która przewija się w tę iz powrotem.
Thorbjørn Ravn Andersen

Wow, to naprawdę interesujące, że Emacspeak używa wysokości i tonu!
Hamish

107

Jestem niewidomy i jestem programistą przez ostatnie 12 lat. Obecnie jestem starszym architektem i współpracuję z Sapient Corporation (firmą konsultingową z Cambridge, która tworzy rozwiązania dla przedsiębiorstw oparte zarówno na Internecie, jak i na grubych klientach). Używam kilku czytników ekranu, ale głównie trzymam się Jaws dla Windows i NVDA.

Jako środowisko pracowałem głównie na platformie Microsoft i studiu wizualnym. Używam również narzędzi takich jak MS Sql Enterprise Studio i innych do dostępu do DB, monitorowania sieci itp. Próbowałem spędzić trochę czasu z emacspeak, ale ponieważ moja praca opierała się głównie na platformie MS, nigdy tak naprawdę nie spędzałem dużo czasu. Spędziłem także kilka lat pracując nad C ++ na Linuksie - najczęściej używałem Notatnika lub Visual Studio na Windowsie do całego kodowania, a następnie Samby do udostępniania plików środowisku Linux. Wykorzystałem również borland C do niektórych eksperymentalnych rzeczy. Ostatnio bawiłem się pytonem, który, jak zauważyli inni, jest szczególnie nieprzyjazny dla niewidomego użytkownika, ponieważ jest napisany przy użyciu wcięcia jako mechanizmu zagnieżdżania. Powiedziawszy to, NVDA, najpopularniejszy czytnik ekranu typu open source jest napisany całkowicie przy użyciu Pythona, a niektóre osoby zatwierdzające w tym projekcie są same w sobie ślepe. Szczególnie interesującym pytaniem, które często zadaję jako architekt, jest sposób radzenia sobie z diagramami - UML oraz Visio i Rational Rose itp. Visio jest prawdopodobnie najbardziej dostępnym narzędziem do tworzenia diagramów. Byłem w stanie pisać szczękowe skrypty, aby czytać mi racjonalne diagramy róż. Użyłem narzędzia o nazwie T-dub (zrozumienie schematu technicznego dla osób niewidomych) opracowanego przez niemiecki uniwersytet do uzyskiwania dostępu do diagramów UML 2.0. Użyłem brzydkiego narzędzia opartego na Javie, zwanego magicznym rysowaniem, do programowania opartego na modelu i byłem inicjatorem projektu androMDA i pomógł w opracowaniu generatora kodu .Net z modelu UML. Szczególnie interesującym pytaniem, które często zadaję jako architekt, jest sposób radzenia sobie z diagramami - UML oraz Visio i Rational Rose itp. Visio jest prawdopodobnie najbardziej dostępnym narzędziem do tworzenia diagramów. Byłem w stanie pisać szczękowe skrypty, aby czytać mi racjonalne diagramy róż. Użyłem narzędzia o nazwie T-dub (zrozumienie schematu technicznego dla osób niewidomych) opracowanego przez niemiecki uniwersytet do uzyskiwania dostępu do diagramów UML 2.0. Użyłem brzydkiego narzędzia opartego na Javie, zwanego magicznym rysowaniem, do programowania opartego na modelu i byłem inicjatorem projektu androMDA i pomógł w opracowaniu generatora kodu .Net z modelu UML. Szczególnie interesującym pytaniem, które często zadaję jako architekt, jest sposób radzenia sobie z diagramami - UML oraz Visio i Rational Rose itp. Visio jest prawdopodobnie najbardziej dostępnym narzędziem do tworzenia diagramów. Byłem w stanie pisać szczękowe skrypty, aby czytać mi racjonalne diagramy róż. Użyłem narzędzia o nazwie T-dub (zrozumienie schematu technicznego dla osób niewidomych) opracowanego przez niemiecki uniwersytet do uzyskiwania dostępu do diagramów UML 2.0. Użyłem brzydkiego narzędzia opartego na Javie, zwanego magicznym rysowaniem, do programowania opartego na modelu i byłem inicjatorem projektu androMDA i pomógł w opracowaniu generatora kodu .Net z modelu UML. Byłem w stanie pisać szczękowe skrypty, aby czytać mi racjonalne diagramy róż. Użyłem narzędzia o nazwie T-dub (zrozumienie schematu technicznego dla osób niewidomych) opracowanego przez niemiecki uniwersytet do uzyskiwania dostępu do diagramów UML 2.0. Użyłem brzydkiego narzędzia opartego na Javie, zwanego magicznym rysowaniem, do programowania opartego na modelu i byłem inicjatorem projektu androMDA i pomógł w opracowaniu generatora kodu .Net z modelu UML. Byłem w stanie pisać szczękowe skrypty, aby czytać mi racjonalne diagramy róż. Użyłem narzędzia o nazwie T-dub (zrozumienie schematu technicznego dla osób niewidomych) opracowanego przez niemiecki uniwersytet do uzyskiwania dostępu do diagramów UML 2.0. Użyłem brzydkiego narzędzia opartego na Javie, zwanego magicznym rysowaniem, do programowania opartego na modelu i byłem inicjatorem projektu androMDA i pomógł w opracowaniu generatora kodu .Net z modelu UML.

Ogólnie uważam, że najbardziej rozwijam się w środowisku zespołowym, w którym mogę pracować nad swoimi mocnymi stronami. Na przykład, podczas gdy schemat jest niezwykle przydatny do komunikowania / dokumentowania projektu, faktyczny proces projektowania wymaga dużo myślenia i burzy mózgów, a gdy projekt został przemyślany, jeden z kolegów z zespołu może pomóc ci szybko przygotować starannie narysowany rysunek zdjęcie z tego. Ludzie błędnie interpretują powyższe jako brak niezależności lub zdolności, podczas gdy widzę to jako czystą współzależność - ponieważ jestem pewien, że sam kolega z zespołu nigdy nie wymyśliłby tego projektu samodzielnie i w -wróć, jeśli polegam na nim, aby udokumentować projekt, niech tak będzie. Większość przeszkód, które napotykam, to niedostępność oparta na narzędziach.


6
Czy mieszkasz w Indiach? A gdzie zniknąłeś? Po tym jednym poście wydaje się, że zniknął.
Mamta D,

1
jako programista tak mi przykro, że nigdy nie zwracałem wystarczającej uwagi na dostępność ... Tak mi przykro ...
Bez tytułu

53

Jestem niewidomym programistą i pracuję pod kontrolą systemów Windows, GNU Linux i MacOS X. Każda platforma ma inne przepływy pracy dla niewidomych użytkowników. Zależy to od czytnika ekranu, z którego korzysta niewidomy programista. Narzędzia programistyczne nie są całkowicie dostępne dla niewidomych programistów. Mogę pisać kod i korzystać z funkcji kompilacji we wszystkich IDE, ale jest wiele problemów, jeśli muszę zaprojektować interfejs za pomocą narzędzi do projektowania, takich jak Interface Builder, XGlade lub inny. Kiedy pracowałem z Borlandem Delphi, mogłem dodać kontrolkę, na przykład przycisk, i mogłem modyfikować każdy atrybut wizualny kontrolki za pomocą okna inspektora obiektów. Wiele IDE używa okien inspektora obiektów do modyfikowania wizualnych i niewizualnych atrybutów, ale problemem dla niewidomego programisty jest dodanie nowych kontrolek, ponieważ metoda dodania nowej kontrolki polega na przeciągnięciu i upuszczeniu kontrolki z palety na obszar roboczy. Visual Studio 200x używa do tego alternatywnych metod, ale interfejs IDE zmienia się w każdej nowej wersji i jest to duży problem, ponieważ czytniki ekranu dla systemu Windows wymagają specjalnego wsparcia za pomocą skryptów, aby zidentyfikować każdy obszar niektórych niestandardowych aplikacji. Niewidomy programista może używać Visual Studio 2008 ze swoim czytnikiem ekranu, ale kiedy pojawi się nowa wersja tego IDE, musi poczekać na nową wersję skryptów dla tej wersji IDE. Xcode z konstruktorem interfejsów nie ma jeszcze alternatywy dla przeciągania i upuszczania zadań. Wiele razy pytałem o to Apple, ale oni pracują nad innymi rzeczami. Opublikowałem 3 aplikacje w App Store (Accessible trałowiec, dostępny fruitmachine i Programar a ciegas RSS) i musiałem zaprojektować cały interfejs za pomocą kodu. To ciężka praca, ale mogę zarządzać wszystkimi funkcjami każdego elementu sterującego. Eclipse ma dostępny edytor kodu, ale inne narzędzia programistyczne, takie jak konsola debugowania, wtyczki do projektowania lub obszar dokumentacji, stwarzają problemy z narzędziami pomocniczymi dla niewidomych użytkowników.

Dokumentacja jest także problemem dla niewidomych programistów. Wiele próbek i demonstracji korzysta z obrazów, aby pokazać wyjaśnienie (ustaw ustawienia środowiska, jak możesz na obrazie)

Myślę, że pytanie nie jest ślepe. Pytanie brzmi: firmy i grupy programistów uważają, że dostępność wpływa na oprogramowanie końcowe, ale nie wpływa na oprogramowanie programistyczne. Uważają, że niewidomy użytkownik powinien być klientem, ale niewidomy użytkownik nie może być partnerem programistycznym.

Niewidome stowarzyszenia proszą o dostępność produktów i usług, ale zapomniały o programistach niewidomych. Osoby niewidome mogą pracować jako prawnicy, dziennikarze, nauczyciele, ale ślepy programista to dziwna koncepcja nawet dla osób niewidomych. Wiele razy czuję się samotny, ponieważ niektórzy z moich niewidomych przyjaciół nie mogą zrozumieć mojej pracy.

Możesz przeczytać moją opinię na ten temat w tym artykule, w języku hiszpańskim, na moim blogu http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ na stronie internetowej znajduje się narzędzie do tłumaczenia. Przepraszam, ale nie przetłumaczyłem tego.


47

Emacs ma wiele rozszerzeń, które pozwalają niewidomym użytkownikom manipulować plikami tekstowymi. Będziesz musiał skonsultować się z ekspertem na ten temat, ale emacs ma funkcję zamiany tekstu na mowę. I prawdopodobnie więcej.

Ponadto istnieje BLinux:

http://leb.net/blinux/

Linux dla niewidomych. Byłem tu bardzo długo. Myślę, że ponad dziesięć lat i bardzo dojrzałe.


43

Pamiętaj, że „ślepota” to szereg warunków - są osoby prawnie niewidome, które potrafią odczytać naprawdę duży monitor lub z pomocą powiększenia, a są tacy, którzy w ogóle nie widzą. Pamiętam kolegę z college'u, który miał specjalne urządzenie do powiększania książek i specjalne oprogramowanie, którego mogła użyć do powiększenia części ekranu. Ciężko pracowała, aby ukończyć studia, ponieważ jej wzrok pogarszał się i zamierzała całkowicie odejść.

Programowanie ma również spektrum potrzeb - niektórzy ludzie są dobrzy w układaniu dużej ilości kodu, a niektórzy lepiej patrzą na duży obraz i architekturę. Wyobrażam sobie, że biorąc pod uwagę trudność narzuconą przez interfejs ekranu, ślepota może zwiększyć twoją zdolność do uzyskania dużego obrazu ...



31

Pracowałem dla Greater Detroit Society for the Blind przez trzy lata, prowadząc BBS dostosowany do dostępu dla osób niewidomych i współpracowałem z pewną liczbą niewidomych użytkowników nad tym, jak lepiej zaspokoić ich potrzeby, a także z nowymi niewidomymi użytkownikami, aby przyzwyczaili się do dostępnego sprzętu i oferty oprogramowania, które były wówczas dostępne. Jeśli nic więcej, przynajmniej nauczyłem się czytać Braille'a jako zabezpieczenie przed przypadkiem, w którym kiedykolwiek znalazłem się w tej samej sytuacji!

Większość niewidomych użytkowników komputerów i programistów korzysta z pewnego rodzaju czytników ekranu. SzczękiSzczególnie są popularne. Na szczęście większość głównych aplikacji oferuje obecnie dostęp dla osób niepełnosprawnych. Może być konieczne dostrojenie środowiska, aby ograniczyć rozmowę, np. Rozważ wyłączenie Intellisense w Visual Studio.

Wyświetlacz brajlowski jest mniej powszechny i ​​stosunkowo dużo droższy, może wyświetlać 40 lub 80 kolumn tekstu i może być używany, gdy ważne jest dokładne pozycjonowanie / interpunkcja. Podczas gdy czytnik ekranu można skonfigurować w taki sposób, aby przerywał interpunkcję, wiele osób uważa, że ​​jest to rozpraszające i w wielu przypadkach łatwiej jest się z nią zapoznać. Szczęki można skonfigurować do sterowania wyświetlaczem, aby nie żonglować aplikacjami ułatwiającymi dostęp.

Ponadto wielu prawnie niewidomych użytkowników ma jeszcze trochę pola widzenia. Korzystanie z tła o wysokim kontraście i funkcji powiększania może pomóc wielu z tych użytkowników.

Korzystanie z ToggleKeys w systemie Windows pozwoli usłyszeć przypadkowe naciśnięcie jednego z modalnych klawiszy „caps lock”, „num lock”, „scroll lock” itp.

Znam co najmniej jednego programistę Haskell, który używa czytnika ekranu i który wyraźnie programuje bez korzystania z reguł układu Haskell, i zamiast tego decyduje się na użycie raczej nieidiomatycznego, ale obsługiwanego {;} , ponieważ jest to dla niego łatwiej / mniej rozpraszające jego czytnik ekranu odczytuje interpunkcję, niż po to, by zorientował się, jakie dokładnie wcięcie jest zgodne z zasadami układu Haskella. W tej samej notatce słyszę narzekanie kilku ślepych programistów na temat tego, kiedy muszą napisać Python.

Ostatecznie uczysz się grać na swoich mocnych stronach.


23

Nie mogę sobie przypomnieć źródła, ale słyszałem / czytałem o pewnej formie „kolorowania” składni - tak, że zamiast przypisania łańcucha odczytywany jest jako

foo równa się cytatowi To jest ciąg znaków

część strunowa byłaby czytana innym tonem lub głosem, aby wyraźniej rozdzielić elementy.


13
Emacspeak to zrobi.
Edward KMETT

14

Jednym z punktów wyjścia jest projekt Blinux:

http://leb.net/blinux/

Ten projekt opisuje, jak zdobyć Emacspeak (edytor tekstu na mowę) i ma wiele innych zasobów.

Pracowałem z jedną osobą, która miała wzrok niewidoczny, ale nie pozwalała jej korzystać z monitora - dobrze sobie radziły z oprogramowaniem do odczytu ekranu i spędzały dużo czasu, używając aplikacji tekstowych i powłoki.

Lista paczek czytników ekranu Wikipedii to kolejne miejsce na początek: http://en.wikipedia.org/wiki/List_of_screen_readers


14

Jestem doktorantką w Pekinie w Chinach. Zajmuję się informatyką i większość mojej pracy to programowanie. Urodziłem się z niedowidzeniem, muszę używać narzędzi powiększających, aby wyraźnie widzieć czcionki na ekranie. Używam narzędzi mgnify Microsoftu w systemie Windows i używam wtyczki powiększania compiz, jeśli jest on na Linuksie. Zwykle ustawiam to narzędzie tak, aby powiększało się trzykrotnie bardziej niż oryginalny rozmiar czcionki. Dla mnie narzędzia maginify są w porządku, głównym problemem jest szybkość, muszę poruszać myszką, aby kursory podążały za tekstem, na który patrzę, powiększenie w Microsoft zapewnia opcję „automatycznego śledzenia punktów edycji tekstu”, która ustawia mnie od ciągły ruch myszy podczas edycji lub kodowania. Ale nie zawsze działa, ponieważ oprogramowanie do edycji lub IDE może tego nie obsługiwać. Narzędzia powiększające w systemie Linux są trudne w użyciu. KMag dostarczany z KDE ma straszną częstotliwość odświeżania, która sprawia, że ​​moje oczy są niewygodne, wtyczki powiększające compiz, których teraz używam, są w porządku, ale nie mają funkcji automatycznego ustawiania ostrości (automatyczne śledzenie ostrości). iOS zapewnia mi idealne rozwiązanie z powiększaniem pełnego ekranu, szczególnie na ekranie 9,7 cala na iPadzie. tam autofokus nie jest konieczny, ponieważ prawie nie używam ich do kodowania lub edytowania innych rzeczy. Android zapewnia bardzo niewiele funkcji ułatwień dostępu, takich jak wstrząsanie, co jest dla mnie bezużyteczne. na Androidzie nie ma żadnych dobrych narzędzi powiększających, nie wspominając o zaawansowanych funkcjach, takich jak powiększanie pełnoekranowe w iOS. Kiedyś studiowałem Qt, chcę zbudować użyteczne narzędzia powiększające na Linuksie, nawet na Androidzie. Ale prawie nie ma postępu. ale nie ma funkcji automatycznego ustawiania ostrości (automatyczne śledzenie ostrości). iOS zapewnia mi idealne rozwiązanie z powiększaniem pełnego ekranu, szczególnie na ekranie 9,7 cala na iPadzie. tam autofokus nie jest konieczny, ponieważ prawie nie używam ich do kodowania lub edytowania innych rzeczy. Android zapewnia bardzo niewiele funkcji ułatwień dostępu, takich jak wstrząsanie, co jest dla mnie bezużyteczne. na Androidzie nie ma żadnych dobrych narzędzi powiększających, nie wspominając o zaawansowanych funkcjach, takich jak powiększanie pełnoekranowe w iOS. Kiedyś studiowałem Qt, chcę zbudować użyteczne narzędzia powiększające na Linuksie, nawet na Androidzie. Ale prawie nie ma postępu. ale nie ma funkcji automatycznego ustawiania ostrości (automatyczne śledzenie ostrości). iOS zapewnia mi idealne rozwiązanie z powiększaniem pełnego ekranu, szczególnie na ekranie 9,7 cala na iPadzie. tam autofokus nie jest konieczny, ponieważ prawie nie używam ich do kodowania lub edytowania innych rzeczy. Android zapewnia bardzo niewiele funkcji ułatwień dostępu, takich jak wstrząsanie, co jest dla mnie bezużyteczne. na Androidzie nie ma żadnych dobrych narzędzi powiększających, nie wspominając o zaawansowanych funkcjach, takich jak powiększanie pełnoekranowe w iOS. Kiedyś studiowałem Qt, chcę zbudować użyteczne narzędzia powiększające na Linuksie, nawet na Androidzie. Ale prawie nie ma postępu. Android zapewnia bardzo niewiele funkcji ułatwień dostępu, takich jak wstrząsanie, co jest dla mnie bezużyteczne. na Androidzie nie ma żadnych dobrych narzędzi powiększających, nie wspominając o zaawansowanych funkcjach, takich jak powiększanie pełnoekranowe w iOS. Kiedyś studiowałem Qt, chcę zbudować użyteczne narzędzia powiększające na Linuksie, nawet na Androidzie. Ale prawie nie ma postępu. Android zapewnia bardzo niewiele funkcji ułatwień dostępu, takich jak wstrząsanie, co jest dla mnie bezużyteczne. na Androidzie nie ma żadnych dobrych narzędzi powiększających, nie wspominając o zaawansowanych funkcjach, takich jak powiększanie pełnoekranowe w iOS. Kiedyś studiowałem Qt, chcę zbudować użyteczne narzędzia powiększające na Linuksie, nawet na Androidzie. Ale prawie nie ma postępu.


13

Kiedy byłem w szkole, mieliśmy członka naszego zespołu badawczego, który był niewidomy. Był trochę starszy, może w połowie lat 40. Opowiedział nam o tym, jak zaprogramował swój pierwszy komputer (na długo przed upowszechnieniem syntezatora mowy) do wyświetlania zawartości ekranu w Morse Code. Aby przezwyciężyć oczywisty problem z jajami kurzymi, musiał za każdym razem całkowicie przepisywać kod od zera, dopóki nie działał wystarczająco dobrze, by mógł mu go odczytać.

Teraz używa zamiany tekstu na mowę, choć planuje kod bardzo dokładnie przed napisaniem dowolnego z nich, aby zminimalizować pętlę debugowania.

Był także całkiem dobry w prezentowaniu prezentacji PowerPoint, które pomimo jego braku wzroku były tak samo dobrze sformatowane, jak każdy widzący prezenter.



8

W Nowej Zelandii znałem kogoś, kto miał zwyrodnienie plamki żółtej , więc był częściowo niedowidzący. Jest bardzo utalentowanym programistą i wykorzystał Delphi, ponieważ potrafił rozpoznawać kształty słów. Łatwiej było to zrobić ze składnią podobną do Pascala niż z kwadratowym nawiasem kwadratowym w kształcie litery C. Ma stronę internetową, ale zdaje się wcale nie wspominać o zwyrodnieniu plamki żółtej, więc nie wymienię go.


8

Jestem niewidomy i od kilku miesięcy używam VINUX (dystrybucja linuksowa oparta na Ubuntu) z SODBEANS (wersja netbeans z wtyczką o nazwie SAPPY, która dodaje obsługę TTS). To rozwiązanie działa całkiem dobrze, ale czasami wolę uruchomić Win XP i NVDA do uruchamiania wielu stron w FireFox, ponieważ Vinux nie działa zbyt dobrze, gdy próbujesz otworzyć więcej niż 3 okna FireFox ...


6

Jak wielu zauważyło, emacspeak jest trwałym rozwiązaniem dla wielu starszych hakerów. Ponieważ obsługuje Linux i Mac od razu po wyjęciu z pudełka, stał się moim preferowanym sposobem tworzenia egnostycznych projektów Windows.

Jeśli chodzi o kwestię faktycznego zejścia ze składni przez słuchową w przeciwieństwie do wizualnej, odkryłem, że istnieje wiele technik zbliżania jednej, jeśli nie na tym samym polu gry.

Ikony dźwiękowe mogą zastąpić deskryptory słowne na przykład. Możesz ustawić tony, jak daleko wcięta jest linia. Im dłuższy ton, tym głębsze wcięcie. Ponieważ dźwięki mogą być odtwarzane równolegle z tekstem na mowę, informacje przychodzą w tym samym czasie i nie serializują komunikacji czegoś tak podstawowego.

Brajl może szybko i precyzyjnie zdekodować użytkownikowi dokładną składnię linii. Jest to coś bardziej przydatnego dla osób, które używają brajla w życiu codziennym; największą zaletą jest losowy dostęp do zawartości wyświetlacza. Odświeżalne jednostki zwykle mają klucze routera nad każdą komórką znaków, które mogą umieścić kursor w tej komórce. Nie ma potrzeby manipulowania przy użyciu klawiszy strzałek O (n) op vs O (1) access.

Wymiarowość słuchowa (wysokość, szybkość, objętość, fleksja, bogactwo, stres itp.) Może przekazać pojęcie (słowo kluczowe, klasa, zmienna, błąd itp.). Na przykład komentarze można odczytać w tonie monotonnym ... pasującym, jeśli tak mogę powiedzieć :).

Emacs i inne edytory w mniejszym stopniu (Visual Studio) pozwalają koderowi na symetryczne przeglądanie programu (następny blok, złożenie bloku, wyłączenie defun, przeskoczenie do def, przejście do drzewa analizy itp.). Dzięki temu możesz bardzo szybko uzyskać „duży” obraz struktury całego projektu; dzięki rozszerzeniom takim jak Cedet, możesz uzyskać zalety VS / Eclipse / etc na wielu platformach oraz w edytorze tekstów.

Prawdopodobnie mogłoby to trwać bez końca, ale w skrócie, jest to podstawa tego, dlaczego kilku z nas hackuje się w przemyśle, adacdemii lub w naszych piwnicach :).




2

Czym na świecie byłaby klawiatura Braille'a?

Istnieją takie rzeczy, jak pisarze brajlowscy, ale nigdy nie użyłbyś jednego jako urządzenia wejściowego dla komputera.

Jeśli mówisz po prostu o klawiaturze z symbolami brajlowskimi, byłby to również bardzo zły pomysł. Będziesz mieć o wiele więcej klawiszy, do których możesz sięgać podczas pisania i nadal będzie wolniejszy.

Pisanie dotykowe NIE JEST umiejętnością wizualną, osoba niewidoma może to zrobić tak dobrze, jak osoba widząca.


3
Klawiatura brajlowska ma sześć klawiszy, z których każdy reprezentuje jedną z sześciu kropek tworzących znak brajlowski. Większość klawiatur brajlowskich ma również dodatkowe klawisze, takie jak spacja, usuwanie, przewijanie do przodu, wstecz itp. Wiele obrazów brajlowskich klawiatur można znaleźć w Google Images.
Barry Brown

To kontrola pisarza brajlowskiego. Używasz go do generowania wyników w alfabecie Braille'a, nigdy nie użyłbyś takiego urządzenia jako urządzenia wejściowego, ponieważ jest WIELE WOLNY niż zwykła klawiatura.
Loren Pechtel

5
nie ma potrzeby korzystania z klawiatury brajlowskiej, pisarz brajlowski istnieje, aby pisać brajlem, a nie drukować. Mój tata był ślepy i potrafił dotykać pisma szybciej niż większość widzących ludzi. Braille wyjściowe istnieć instrumenty klawiszowe jak jest to łatwiejsze niż mowy w niektórych sytuacjach. w tym kontekście
przychodzi

Znałem kilku niewidomych użytkowników z późnej ery BBS, którzy używali „Braille 'n Speak” podłączonego do modemu, aby uzyskać dostęp do tablic ogłoszeń, ale nie widziałem żadnego z nich od około 1992 roku i żaden z nich ludzie byli programistami. Pisanie dotykowe jest znacznie bardziej skuteczne.
Edward KMETT

Dlaczego są nawet klawiatury brajlowskie ?, Mogę pisać bez patrzenia na klawiaturę ... po prostu użyj kropek na (f), (j) i (5), żeby ci trochę pomóc
ajax333221

2

Myślę, że sprawdziłoby się to w programowaniu ekstremalnym przy użyciu zasady programowania w parach. Jeśli tworzysz oprogramowanie dla osób niewidomych, którzy lepiej to zrobić, to ktoś, kto dosłownie byłby w kontakcie z wymaganiami biznesowymi, więc nie sądzę, że jest to wcale tak daleko idące.

Jeśli chodzi o pisanie kodu, cóż, chyba że pojawiło się jakieś sprzężenie zwrotne, myślę, że ktoś może mieć problem ze składnią. Informacja zwrotna audio może jednak do pewnego stopnia pomóc.


6
Jeśli piszesz strony internetowe, prawdopodobnie rozwijasz się dla osób niewidomych!
Loofer

Pracowałem (pośrednio) z niewidomym programistą podczas mojej ostatniej współpracy w IBM na początku lat 90. na ScreenReader / 2 (rozszerzenie pomagające osobom niewidomym korzystać z OS / 2). Można to zrobić i nie jest wymagane programowanie w parach.
M1EK,

7
@John Millikin: Chociaż jest to bolesne i zabawne, prawdopodobnie jesteś o wiele mniej obeznany z interpretacją podpowiedzi w oprogramowaniu do odczytu ekranu i tym, co stanowi intuicyjny, dostępny dla osób niepełnosprawnych interfejs niż faktyczny niewidomy użytkownik. Staram się angażować niewidomego użytkownika w testowanie akceptacji użytkownika podczas projektowania stron internetowych. To powiedziawszy, ślepi programiści mogą zrobić znacznie więcej niż tylko UAT.
Edward KMETT

ciekawy pomysł na opinie dźwiękowe. Może pomocny byłby system wykraczający poza samo czytanie słów na ekranie.
Seamus Connor

@ Edward: Przejście z interfejsu graficznego na interfejs audio nie jest wcale takie trudne. Podczas gdy (oczywiście) osoba całkowicie niewidoma będzie miała więcej doświadczenia w interakcjach z technologią wspomagającą, „normalni” ludzie mogą sobie poradzić po prostu wyłączając monitory.
John Millikin


1

Co powiesz na wynalezienie jakiegoś urządzenia, które podłączasz do portu USB i który byłby w zasadzie „arkuszem gumy”, który zmodyfikowałby się, aby pokazać kod Brail, pozwalając niewidomym czytać go zamiast go słyszeć?



1

Kiedy poznałem Sama Hartmana, jest on znanym deweloperem Debiana od 2000 roku i jest niewidomy. W tym wywiadzie mówi o dostępności dla użytkownika Linuksa. Używa Debiana i gnome-orca jako czytnika ekranu, współpracuje z Gnome i „robi względnie dobrą robotę mówiąc Iceweasel / Firefox i Libreoffice”.

Mówiąc konkretnie o programowaniu, mówi:

Podczas gdy [gnome-orca] mówi gnome-terminal, to nie jest wystarczająco dobry w mówieniu programom terminalowym, z których wygodnie mi się korzysta. Tak więc uruchamiam Emacsa z pakietem Emacspeak. W tym uruchamiam emulator terminala Emacs, a w tym mam tendencję do uruchamiania Screen. Dla dodatkowej zabawy często uruchamiam dodatkowe wystąpienia Emacsa na wewnętrznych ekranach.


1
Pff, brzmi to jednocześnie skomplikowane i fascynujące. Ludzie są bardzo pomysłowi w pokonywaniu słabości swojego oprogramowania komputerowego. :-)
Willem Meints
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.