Approfondimento su java, access bridge e screen reader


In queste brevi note do per scontato che tu abbia letto o abbia appreso per tuo conto quanto scritto nell’articolo
Appunti su java per applicazioni Windows
Le informazioni seguenti riguardano java 8 e relativi update ma non la versione 10 che per me è ancora nebulosa ma anch’essa inserita nel precedente articolo.
Inizialmente le informazioni riportate potranno apparire solo come una semplice curiosità tecnica mentre in realtà ci servono per comprendere quanto spiegato più avanti.
Ho già parlato della libreria WindowsAccessBridge.dll e dei problemi che ci sono quando questa viene rimossa a causa dell’aggiornamento di java. Tuttavia mi sono accorto che quanto riportato in passato è valido solo per sistemi a 32 bit in cui, ovviamente, è installato java a 32 bit. Infatti la libreria WindowsAccessBridge.dll viene installata solo quando s’installa java in sistemi a 32 bit e, oltre ad essere posta nella sottocartella system32 di windows come scrivevo in passato, viene inserita anche nella sottocartella bin della versione di java in uso.
Installando una versione di java a 32 bit in sistemi a 64, la libreria WindowsAccessBridge.dll non viene inserita e al suo posto viene installata la libreria WindowsAccessBridge-32.dll ma solo nella sottocartella bin della versione di java in uso e ciò basta a far leggere il pannello di controllo java ad NVDA che essendo uno screen reader a 32 bit ovviamente usa java a 32 bit anche se stai usando un sistema a 64. Naturalmente se in un sistema a 64 bit in cui usi jaws a 64 bit è installato solo java a 32, non potrai leggere il pannello di controllo java perché jaws a 64 bit usa java a 64 bit che in questo caso non c’è.
Così come accadeva con i sistemi a 32 bit, il riavvio fatto dopo l’aggiornamento di java a 32 bit nei sistemi a 64 va a rimuovere la libreria che serve agli screen reader e quindi nella cartella bin non avrai più il file WindowsAccessBridge-32.dll nella sottocartella bin che conterrà 129 file invece di 130. Ma questa volta le cose sono più serie perché anche se l’hai preventivamente salvato e lo rimpiazzi le cose non vanno a posto e non vanno a posto nemmeno se lo inserisci in system32 e nemmeno se provi a mettere il semplice file WindowsAccessBridge.dll sia in system32 che in bin e non ti rimane altro che disinstallare java a 32 e reinstallarlo con un file offline che trovi anche nella sezione programmi del
mio sito
L’installazione di java a 64 bit inserisce la libreria WindowsAccessBridge-64.dll nella sottocartella bin di java e in system32. Nel fare l’aggiornamento, mi è stato mantenuto WindowsAccessBridge-64 nella sottocartella bin ma non in system32 ma in questo caso basta copiarvelo per leggere correttamente il pannello di controllo java tramite jaws.
Per ovviare a tutti questi problemi volevo confermare il consiglio dato in passato e cioè quello di non fare gli aggiornamenti e di disinstallare la vecchia versione di java ed installare quella nuova da un file offline quando si ha la necessità di aggiornare il programma. E tuttavia ad un mio amico è accaduto che dopo aver installato la versione a 32 bit in un sistema a 64, quando ha installato anche java 64 bit la libreria WindowsAccessBridge-32.dll di java a 32 bit è stata rimossa. Insomma, con queste java i programmatori hanno fatto un gran casino e si comportano in maniera diversa a seconda dei computer.
Per default nelle ultime versioni di java Access bridge è già attivato ma ho anche notato che quando in un sistema a 64 bit hai installato java a 32 e 64, la funzione che disattiva/attiva Access bridge interessa entrambe le versioni anche se viene svolta in una sola versione.
Quando java a 32 bit non è installato oppure ci sono problemi con la libreria di Access bridge, nel log di NVDA troviamo un avvertimento. E’ posto quasi al termine del log o del file di log che hai salvato ed esattamente sotto la riga che riguarda la barra braille che esiste anche se questa non è installata. Trovi una riga che inizia con warning e sotto di essa la stringa in inglese che ti avverte che Access bridge non c’è. Tuttavia se disattivi Access bridge non avrai alcun avvertimento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *