પ્રોડક્ટ ટીમોમાં એક્સેસિબિલિટી (accessibility) ને અંતિમ કોટ ઓફ પેઇન્ટ (છેલ્લું કામ) તરીકે જોવાની આદત હોય છે. તેઓ ફીચર્સ બનાવે છે, ઇન્ટરફેસને પોલીશ કરે છે, અને પછી—લોન્ચના બે દિવસ પહેલા—સ્કેનર ચલાવે છે. અચાનક ડેશબોર્ડ લાલ થઈ જાય છે. ફોર્મ લેબલ્સ ખૂટે છે. એક્સેસિબલ નામ વગરના બટનો. ચેતવણી વગર h1 થી h4 પર કૂદતા હેડિંગ લેવલ્સ. કલર કોમ્બિનેશન જે ટેક્સ્ટને બેકગ્રાઉન્ડ નોઈઝ બનાવી દે છે. આ યાદી ખૂબ જ ભારે લાગે છે કારણ કે તે સમયસર કરવામાં આવી નથી.
આ છેલ્લી ઘડીનો ગભરાટ એટલા માટે થાય છે કારણ કે એક્સેસિબિલિટીનું કામ મેન્યુઅલ અને ધીમું લાગે છે. એક ટેસ્ટર દરેક ટેમ્પલેટને હાથથી ક્લિક કરીને માત્ર એક સ્પ્રીન્ટમાં મર્યાદિત કામ જ કરી શકે છે. પરંતુ અહીં એક વાત છે જે અવગણવામાં આવે છે: મોડા મળી આવતા મોટાભાગના ફેલ્યોર એ કોઈ સૂક્ષ્મ અથવા એક વખતની કલાત્મક પસંદગીઓ નથી. તે વારંવાર થતી, માળખાગત સમસ્યાઓ છે જે ડઝનબંધ કે સેંકડો પેજ પર પુનરાવર્તિત થાય છે. આ પુનરાવર્તન જ એ કારણ છે કે ઓટોમેશન કામ કરે છે.
મશીનો ખરેખર કયું કામ શ્રેષ્ઠ રીતે કરે છે
એક્સેસિબિલિટી ટીમોને જાદુની જરૂર નથી. તેમને કવરેજની જરૂર છે. એક કુશળ માનવ ઓડિટર પેજની પ્રતિનિધિ નમૂનાનું નિરીક્ષણ કરી શકે છે, નિર્ણય લઈ શકે છે અને સંદર્ભની જરૂર હોય તેવી સૂક્ષ્મ સમસ્યાઓ પકડી શકે છે. બીજી તરફ, મશીન કોઈપણ સ્ટેપ છોડ્યા વગર અથવા થાક્યા વગર, દરરોજ રાત્રે દરેક પેજનું નિરીક્ષણ કરી શકે છે. આ સમીકરણમાં AI ની કિંમત એ નથી કે તે WCAG સ્ટાન્ડર્ડ્સનું સ્થાન લે છે. તે ટીમો કેવી રીતે કામ કરે છે તે બદલી નાખે છે. ટેસ્ટર કાચા એરર લોગ્સમાં ડૂબી જવાને બદલે અથવા દરેક ટેમ્પલેટ પર ક્લિક કરવાને બદલે, AI ડુપ્લીકેટ સમસ્યાઓનું જૂથ બનાવી શકે છે, તેમની આવૃત્તિ (frequency) મુજબ રેન્ક કરી શકે છે, અને તમને જણાવી શકે છે કે કયા ફેલ્યોર યુઝર એક્સપિરિયન્સને સૌથી વધુ નુકસાન પહોંચાડી રહ્યા છે.
વોલ્યુમ, ટ્રાયજ (triage) અને પેટર્ન ઓળખવા માટે AI નો ઉપયોગ કરો. તેને કાચા સ્કેનિંગનું કામ કરવા દો જેથી તમારી ટીમ વસ્તુઓ સુધારવા પર ધ્યાન કેન્દ્રિત કરી શકે.
સામાન્ય ફેલ્યોર દર્શાવતા સંકેતો
મોટાભાગના એક્સેસિબિલિટી ફેલ્યોર સ્પષ્ટ અને શોધી શકાય તેવા સંકેતો આપે છે. સ્કેનર alt એટ્રિબ્યુટ વગરની ઈમેજ શોધી શકે છે. તે એવા બટનો શોધી શકે છે જે DOM માં છે પરંતુ તેમાં કોઈ ટેક્સ્ટ અથવા aria-label નથી, જેનાથી સ્ક્રીન રીડર યુઝર્સને બટન શું કરે છે તેનો ખ્યાલ આવતો નથી. તે એવા લિંક્સને ફ્લેગ કરી શકે છે જે "click here" અથવા "read more" કહે છે, જે પેજ પર ટેબ (tab) દ્વારા ફરતા યુઝર્સને કોઈ ડેસ્ટિનેશન સંદર્ભ આપતા નથી. તે કલર કોમ્બિનેશન પકડી લે છે જે કોન્ટ્રાસ્ટની જરૂરિયાતોમાં નિષ્ફળ જાય છે. તે હેડિંગ હાયરાર્કી (hierarchies) નોંધે છે જે લેવલ છોડી દે છે, જેનાથી હેડિંગ્સ પર આધાર રાખતા લોકો માટે નેવિગેશન તૂટી જાય છે.
આ પેટર્ન-આધારિત સમસ્યાઓ છે. તેઓ અનુમાનિત કોડ માર્કર્સ તરીકે દેખાય છે, જેનો અર્થ છે કે ઓટોમેશન આ પ્રકારનું કામ શોધવામાં શ્રેષ્ઠ છે.
વાસ્તવિક સમસ્યાઓને પકડતી પાઇપલાઇન બનાવવી
એક સારું સેટઅપ માત્ર એકવાર ચાલતા સિંગલ ટૂલ પર આધારિત નથી હોતું. તે વિવિધ સ્તરો (layers) નું સંયોજન છે. પ્રથમ સ્તર એ રૂલ એન્જિન છે જે કોડનું જ સ્કેનિંગ કરે છે. ડેવલપર્સ જ્યારે કમ્પોનન્ટ્સ લખતા હોય ત્યારે આ એન્જિન માર્કઅપને WCAG માર્ગદર્શિકાઓ સામે તપાસે છે, અને બ્રાઉઝર સુધી પહોંચતા પહેલા જ અનલેબલ ઇનપુટ્સ અથવા અમાન્ય એટ્રિબ્યુટ્સને ફ્લેગ કરે છે.
બીજું સ્તર બ્રાઉઝર ઓટોમેશન છે. સ્ટેટિક કોડ એનાલિસિસ એ પકડી શકતું નથી જે મોડલ (modal) ખુલ્યા પછી, ડ્રોપડાઉન વિસ્તર્યા પછી, અથવા ફોર્મ વેલિડેશન એરર દેખાયા પછી થાય છે. ઓટોમેટેડ બ્રાઉઝર્સને વાસ્તવિક યુઝર જર્ની—સાઇનઅપ ફ્લો, ચેકઆઉટ પ્રક્રિયાઓ, એકાઉન્ટ ડેશબોર્ડ્સ—માંથી પસાર થવાની જરૂર છે, જ્યાં યુઝરની ક્રિયાના આધારે કન્ટેન્ટ ડાયનેમિકલી બદલાય છે. જો તમારા પાસવર્ડની જરૂરિયાતો ફીલ્ડમાંથી ફોકસ હટ્યા પછી જ દેખાય છે, તો માત્ર કોડ સ્કેનર ક્યારેય એ એનાઉન્સમેન્ટ ફેલ્યોર (announcement failure) જોઈ શકશે નહીં.
ત્રીજું સ્તર એ છે જ્યાં AI તારણોનું અર્થઘટન કરે છે અને ડુપ્લીકેટ્સને મર્જ કરે છે. જો એ જ અનલેબલ આઇકોન બટન એવા હેડર કમ્પોનન્ટમાં હોય જે એંસી પેજમાં વપરાય છે, તો સિસ્ટમે તેને એક કમ્પોનન્ટ-લેવલ ડિફેક્ટ તરીકે રિપોર્ટ કરવો જોઈએ, ને એંસી અલગ પેજ-લેવલ બગ્સ તરીકે નહીં. આ ટીમોને બિનજરૂરી માહિતી (noise) માં ડૂબી જવાથી બચાવે છે.
ચોથું સ્તર માનવ સમીક્ષા (human review) છે. મશીન સતત નિરીક્ષણ કરવું જોઈએ, પરંતુ રિલીઝ પહેલાં વ્યક્તિએ એજ કેસીસ (edge cases) ની સમીક્ષા કરવી જોઈએ. કોઈપણ ઓટોમેટેડ પાઇપલાઇનનો પોતાનો અંતિમ નિર્ણય હોવો જોઈએ નહીં.
ટેકનિકલ જાર્ગનને એક્શનમાં બદલવું
કાચા સ્કેનર આઉટપુટ ઘણીવાર બેકલોગમાં જ રહી જાય છે કારણ કે તે ડેવલપર્સ માટે નહીં પણ ઓડિટર્સ માટે નિર્ધારિત સ્પષ્ટીકરણ (specification) જેવું લાગે છે. "insufficient color contrast ratio" કહેતો રિપોર્ટ અવગણવામાં આવે છે કારણ કે તે અમૂર્ત અને ઓછી અગ્રતા ધરાવતો લાગે છે. "સફેદ બેકગ્રાઉન્ડ પર ગ્રે હેલ્પ ટેક્સ્ટ વાંચવો મુશ્કેલ છે" કહેવાથી ડેવલપરને ખબર પડે છે કે શું સુધારવું, ક્યાં જોવું, અને વાસ્તવિક યુઝર્સ માટે તે શા માટે મહત્વનું છે. AI ટેકનિકલ WCAG ફેલ્યોર્સને સરળ ભાષામાં અનુવાદિત કરીને આ અંતરને પૂરવામાં મદદ કરી શકે છે જે પ્રોડક્ટ ટીમો ખરેખર વાંચ
તમારે દરેક એલર્ટને સમાન ગણવાને બદલે તમારા તારણોને કોન્ફિડન્સ લેવલ (વિશ્વાસના સ્તર) આપવાની પણ જરૂર છે. હાઈ કોન્ફિડન્સ ધરાવતી સમસ્યાઓ, જેમ કે અનલેબલ કરેલા ફોર્મ ઇનપુટ્સ, આપમેળે ટિકિટ બનાવી શકે છે કારણ કે તેનું નિરાકરણ હંમેશા WCAG દ્વારા જરૂરી હોય છે અને તેનો ઉકેલ સીધો છે. મીડિયમ કોન્ફિડન્સ ધરાવતા તારણો, જેમ કે શંકાસ્પદ alt text જે વર્ણનાત્મક હોવાને બદલે કીવર્ડ-સ્ટફ્ડ હોઈ શકે છે, તે વર્ણન ઉપયોગી છે કે નહીં તે નક્કી કરવા માટે માનવીય સમીક્ષાની જરૂર છે. લો કોન્ફિડન્સ ધરાવતી વસ્તુઓ મેન્યુઅલ ટેસ્ટિંગ માટે રિપોર્ટ્સમાં રહેવી જોઈએ. સ્કેનર મિસિંગ alt એટ્રિબ્યુટ જોઈ શકે છે, પરંતુ તે જાણતું નથી કે ઈમેજ સુશોભન માટે છે કે સામગ્રી સમજવા માટે આવશ્યક છે. તે સંદર્ભ માટે હજુ પણ માનવીની જરૂર પડે છે.
એકવાર સુધારો, બધે જ સુધારો
AI ટીમોને સમસ્યાઓ ક્યાં કેન્દ્રિત છે તે શોધવામાં મદદ કરે છે. જો ખરાબ રીતે બનાવેલ બટન કમ્પોનન્ટ પચાસ સ્ક્રીન પર હોય, તો કમ્પોનન્ટને એકવાર સુધારવાથી સમસ્યાઓની સંખ્યા તરત જ ઘટી જાય છે. આ કામને પેજ-બાય-પેજ સમસ્યા ઉકેલવાની ઝંઝટમાંથી બદલીને વ્યવસ્થિત કમ્પોનન્ટ લાઈબ્રેરી મેન્ટેનન્સમાં ફેરવે છે. પેટર્ન રેકગ્નિશન એ એવું ક્ષેત્ર છે જ્યાં AI વળતર આપે છે. તે સેંકડો પેજ પરના મુદ્દાઓને જોડે છે જેથી ટીમો ચાલીસ અલગ-અલગ Jira ટિકિટોમાં એક જ બગને સુધારવાનું બંધ કરે.
સ્કેનર્સને પુલ રિક્વેસ્ટ્સ (pull requests) સાથે જોડવાથી આ ફીડબેક સચોટ રહે છે. જ્યારે ડેવલપરને મર્જ કરતા પહેલા જ એ એલર્ટ મળે છે કે તેમના નવા માર્કઅપે હેડિંગ લેવલ સ્કીપ કરી દીધું છે, ત્યારે તેને સુધારવામાં મિનિટો લાગે છે. જ્યારે આ જ સમસ્યા પ્રોડક્શનમાં જાય છે અને લોન્ચના બે દિવસ પહેલા મળી આવે છે, ત્યારે તેને સુધારવા માટે હોટફિક્સ, રિગ્રેશન ટેસ્ટિંગ અને સ્ટેકહોલ્ડર સાથે વાતચીતની જરૂર પડે છે. સચોટ લૂપ્સ સમય બચાવે છે અને એક્સેસિબિલિટી ડેબ્ટ ઘટાડે છે.
કામનું વિભાજન
ઓટોમેશન તમારા ઉત્પાદનને આપમેળે એક્સેસિબલ બનાવશે નહીં. જોકે, તે તમારી ટીમને વારંવાર સમાન સ્પષ્ટ નિષ્ફળતાઓ મોકલતા અટકાવશે. તમારા CI પાઇપલાઇનમાં ઓટોમેટેડ ચેક્સ ચલાવો. કન્ટેન્ટ એડિટર્સ અથવા નવી સુવિધાઓ દ્વારા દાખલ થયેલા રિગ્રેશન્સને પકડવા માટે દર રાત્રે સ્ટેજિંગ સાઇટ્સને ક્રોલ કરો. બેકલોગને મેનેજ કરી શકાય તેવો રાખવા માટે સમસ્યાઓને કમ્પોનન્ટ મુજબ ગ્રુપ કરો. સાઇટના એવા ભાગો માટે માનવીય ધ્યાન અનામત રાખો જ્યાં સંદર્ભ સૌથી વધુ મહત્વનો હોય: ઈમેજને alt text ની જરૂર છે કે નહીં તે નક્કી કરવું, જટિલ કસ્ટમ કમ્પોનન્ટ્સનું મૂલ્યાંકન કરવું, અને યુઝરના ઈરાદાને સમજવાની જરૂર હોય તેવા ફ્લોનું પરીક્ષણ કરવું.
વોલ્યુમ, ટ્રાયજ અને પેટર્ન રેકગ્નિશન માટે AI નો ઉપયોગ કરો. મશીનોને દર રાત્રે દરેક પેજ પર પુનરાવર્તિત સ્કેનિંગ સંભાળવા દો. મનુષ્યોને નિર્ણય લેવાનું કામ કરવા દો. કામનું આ વિભાજન એ જ છે જેના દ્વારા એક્સેસિબિલિટી લોન્ચ પહેલાના ગભરાટમાંથી સામાન્ય એન્જિનિયરિંગ આદતમાં બદલાય છે.
સ્ત્રોત: https://dev.to/henryv/automating-wcag-compliance-with-ai-4ogp
ચર્ચામાં જોડાઓ: https://t.me/GyaanSetuAi
