- मोबाइल पर scroll करते समय comment reply box अचानक खुलने की समस्या थी, और दाएँ हाथ के अंगूठे से scroll करने वाले site operator इसे reproduce नहीं कर पाए
- वजह page के बाएँ तरफ मौजूद reply link और WordPress की
touchstarthandling थी; बाएँ हाथ के अंगूठे से scroll करने पर अनजाने में link touch हो सकता था - यह bug 7 साल पहले WordPress Trac में पहले ही report किया गया था, और संबंधित code 2017 में WordPress development repository में जोड़ा गया था
- पहले touch और double-tap zoom में फर्क करने के लिए 300ms delay से बचना जरूरी था, लेकिन 2013 के Chrome article और 2015 के FastClick material के मुताबिक यह पहले से ही पुरानी समस्या थी
- fix WordPress code से कुछ lines हटाने के तरीके से है, और इसका focus mobile scrolling के दौरान अनचाहे comment reply behavior को कम करने पर है
Blog optimization और comment JavaScript
- WordPress की default installation के ऊपर कई custom modifications लागू कर blog को अधिकतम optimize किया गया
- JavaScript usage को न्यूनतम किया गया, और configuration ऐसी रखी गई कि JavaScript के बिना भी features काम करें
- हालांकि कुछ features में JavaScript मदद करती है, और इसका सबसे स्पष्ट उदाहरण comment feature है
बाएँ हाथ से scroll करने पर ही दिखी समस्या
- एक reader ने site bug की सूचना दी; page scroll करते समय comment box अचानक दिखने लगता था और browsing में बाधा डालता था
- site operator अक्सर scroll करते थे, लेकिन दाएँ हाथ के अंगूठे का उपयोग करते थे, इसलिए उन्हें वही समस्या नहीं दिखी
- bug report करने वाला user बाएँ हाथ से scroll कर रहा था, और समस्या पैदा करने वाला reply link page के बाएँ तरफ था
- दाएँ हाथ के अंगूठे से scroll करने पर जो touch event ज्यादा सामने नहीं आता था, वह बाएँ हाथ के अंगूठे से scroll करते समय अनचाहे रूप से trigger हो सकता था
WordPress की touchstart handling
- यह समस्या WordPress Trac पर 7 साल पहले report की जा चुकी थी
- 2017 में WordPress developer ने link click में
touchstartlistener जोड़ा - पुराने browsers यह पक्का distinguish नहीं कर पाते थे कि touch event click की शुरुआत है या double-tap zoom की शुरुआत
- link पर touch होने पर event को पहले trigger करने का तरीका उस समय 300ms delay से बचने की handling माना जा सकता था
पहले ही खत्म हो चुकी 300ms delay समस्या
- 300ms tap delay काफी पहले से उसी तरह की समस्या नहीं रही थी
- 2013 Chrome developer blog post में बताया गया था कि यह delay problem खत्म हो गई है
- 2015 FastClick material के मुताबिक भी यह अब solve करने लायक कोई major issue नहीं था
- इसलिए 2017 में बाएँ हाथ से scroll करने वाले users को परेशान करने वाले रूप में code क्यों जोड़ा गया, यह साफ नहीं है
Fix का तरीका और अपेक्षित असर
- bug report के 7 साल बाद WordPress fix PR commit किया गया
- fix कोई complex change नहीं है, बल्कि WordPress code से कुछ lines हटाने का तरीका है
- इस change से mobile scrolling के दौरान reply link के अनजाने में trigger होकर comment reply box खुलने की समस्या कम हो सकती है
<meta handed="right">जैसी handedness-based access restriction feature मौजूद नहीं है, और इस change का focus अनचाहे touch events को रोकने पर है
1 टिप्पणियां
Lobste.rs की राय
दुनिया की बहुत सारी चीज़ें दाएं हाथ वालों को ध्यान में रखकर बनी हैं। पेन के विज्ञापन वाले टेक्स्ट भी अक्सर ऐसे दिशा में होते हैं कि उन्हें पढ़ने के लिए पेन दाएं हाथ से पकड़ना पड़े
फिर भी, बाएं हाथ वाला होकर जीने का मतलब है कि आपके पास जन्मजात ad blocker जैसा थोड़ा-बहुत फीचर तो है ही
“sinister disposition” सुनकर हंसी आई। मुझे वह दिन याद है जब पता चला था कि sinister और dexterous(dexter) का शाब्दिक अर्थ क्रमशः ‘बायां’ और ‘दायां’ होता है
मानक से हटना → बुराई—यह सांस्कृतिक घटना, जिसे हम आज भी ढो रहे हैं, अब भी दिलचस्प लगती है
शायद इसलिए कि “बाएं” के लिए मूल शब्द taboo बन गया और उसकी जगह नया शब्द आया, फिर वह नया शब्द भी बाद में फिर taboo बन गया—और यह क्रम दोहराता रहा
[1]: https://reddit.com/r/asklinguistics/…
क्या लोग आम तौर पर फोन सिर्फ अपने मुख्य हाथ से ही पकड़ते हैं? मैं बाएं हाथ वाला हूं, लेकिन फोन के लिए दोनों हाथ लगभग random तरीके से बराबर इस्तेमाल करता हूं, और मुझे लगा सब ऐसा ही करते होंगे
शुरुआत में दाएं हाथ से फोन पकड़ता था और बाएं हाथ से ऑपरेट करता था, लेकिन समय के साथ दाएं अंगूठे से किए जाने वाले काम बढ़ते गए और आखिर वही मुख्य ऑपरेशन पॉइंट बन गया
माउस भी दाएं हाथ से इस्तेमाल करता हूं, क्योंकि बचपन में कंप्यूटर लैब में माउस की केबल छोटी होती थी, इसलिए उसे बाईं तरफ ले जाकर इस्तेमाल नहीं कर सकता था
मैं भी बाएं हाथ वाला हूं, लेकिन handwriting जैसे कई काम दाएं हाथ से करता हूं। पियानो में भी मेरा दायां हाथ dominant है, और ज्यादातर pieces जिस तरह लिखे गए हैं, उसका भी निश्चित रूप से असर पड़ा होगा। फोन में दोनों हाथ इस्तेमाल करता हूं
हालांकि दो-तीन वाक्यों से ज्यादा हो जाए तो दोनों अंगूठों से input करता हूं
दिलचस्प है कि बाकी लगभग हर काम दाएं हाथ से करता हूं, लेकिन फोन बाएं हाथ में पकड़कर इस्तेमाल करने की तरफ झुकाव है
वजह ठीक से नहीं पता, लेकिन शायद इसलिए कि फोन बाईं जेब में रखता हूं और wallet व चाबियां दाईं में। चाबी इस्तेमाल करना और wallet निकालना dominant hand से ज्यादा सुविधाजनक है। सोचता हूं क्या मैं ही अजीब हूं
आखिर में scroll और basic tasks बाएं हाथ से करता हूं, लेकिन लंबे messages type करते समय फोन बाएं हाथ में पकड़े रखकर दाएं हाथ से swipe input करता हूं
वहां
touchstartइस्तेमाल करना शुरुआत से ही गलत थाmouse, touch और pointer में activation दबाते समय नहीं, छोड़ते समय होता है, लेकिन दबाना शुरू करने की जगह वही element होनी चाहिए। keyboard events keyup पर नहीं, keydown पर activate होते हैं। हालांकि button पर
Spaceकाम करने का मामला अजीब तरह से keyup पर है, और mouse के उलट यह भी परवाह नहीं करता कि keydown किस element पर हुआ थाdata:text/html,<button onclick=this.textContent=Math.random()>One</button><button onclick=this.textContent=Math.random()>Two</button>जैसी चीज़ से कई possibilities experiment करके देख सकते हैंtouchstartपर activation की तैयारी करना, जैसे जरूरत हो तो server से data prefetch करना शुरू कर देना, ठीक होता। लेकिन असली action execution अभी नहीं होना चाहिए था, औरelement.addEventListener( 'touchstart', clickEvent );ने यही गलत तरीके से कर दियासमझ नहीं आया कि इसका बाएं हाथ वालों से क्या संबंध है
क्या यह touchpad की कोई खास behavior है जो mouse user होने के कारण मुझे नहीं पता?