1 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • मोबाइल पर scroll करते समय comment reply box अचानक खुलने की समस्या थी, और दाएँ हाथ के अंगूठे से scroll करने वाले site operator इसे reproduce नहीं कर पाए
  • वजह page के बाएँ तरफ मौजूद reply link और WordPress की touchstart handling थी; बाएँ हाथ के अंगूठे से 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 में touchstart listener जोड़ा
  • पुराने 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 टिप्पणियां

 
GN⁺ 4 시간 전
Lobste.rs की राय
  • दुनिया की बहुत सारी चीज़ें दाएं हाथ वालों को ध्यान में रखकर बनी हैं। पेन के विज्ञापन वाले टेक्स्ट भी अक्सर ऐसे दिशा में होते हैं कि उन्हें पढ़ने के लिए पेन दाएं हाथ से पकड़ना पड़े
    फिर भी, बाएं हाथ वाला होकर जीने का मतलब है कि आपके पास जन्मजात ad blocker जैसा थोड़ा-बहुत फीचर तो है ही

    • अरे, मुझे अब जाकर समझ आया कि पेन या पेंसिल पर लिखे अक्षर इस तरह लगाए जाते हैं कि पकड़े होने पर पढ़े जा सकें। यह भी पहली बार पता चला कि बाएं हाथ वाले तरीके से पकड़ने पर वे हमेशा उल्टे दिखते हैं
    • मैंने इस विवरण से मेल खाने वाला कोई पेन याद करने की कोशिश की, लेकिन नाकाम रहा। पेन की तस्वीरें भी खोजीं, फिर भी ठीक से समझ नहीं आया; बस एक महंगा पेन याद आया जो थोड़ा करीब लगा और शायद शर्त पूरी करता हो
  • “sinister disposition” सुनकर हंसी आई। मुझे वह दिन याद है जब पता चला था कि sinister और dexterous(dexter) का शाब्दिक अर्थ क्रमशः ‘बायां’ और ‘दायां’ होता है
    मानक से हटना → बुराई—यह सांस्कृतिक घटना, जिसे हम आज भी ढो रहे हैं, अब भी दिलचस्प लगती है

    • मेरा बायां हाथ बहुत प्रमुख है, लेकिन कुछ काम जो दोनों हाथों से कर सकता हूं, उनके लिए मैं आम तौर पर “ambi-dexterous” शब्द नहीं मानता और खुद को omni-sinisterous कहता हूं
    • कई Indo-European भाषाओं में “दाएं” के लिए शब्दों की साझा व्युत्पत्ति है, लेकिन “बाएं” के लिए ऐसा नहीं है [1]
      शायद इसलिए कि “बाएं” के लिए मूल शब्द taboo बन गया और उसकी जगह नया शब्द आया, फिर वह नया शब्द भी बाद में फिर taboo बन गया—और यह क्रम दोहराता रहा
      [1]: https://reddit.com/r/asklinguistics/…
  • क्या लोग आम तौर पर फोन सिर्फ अपने मुख्य हाथ से ही पकड़ते हैं? मैं बाएं हाथ वाला हूं, लेकिन फोन के लिए दोनों हाथ लगभग random तरीके से बराबर इस्तेमाल करता हूं, और मुझे लगा सब ऐसा ही करते होंगे

    • मैं बाएं हाथ वाला हूं, लेकिन फोन लगभग हमेशा दाएं हाथ से पकड़ता हूं। वजह सरल है
      शुरुआत में दाएं हाथ से फोन पकड़ता था और बाएं हाथ से ऑपरेट करता था, लेकिन समय के साथ दाएं अंगूठे से किए जाने वाले काम बढ़ते गए और आखिर वही मुख्य ऑपरेशन पॉइंट बन गया
      माउस भी दाएं हाथ से इस्तेमाल करता हूं, क्योंकि बचपन में कंप्यूटर लैब में माउस की केबल छोटी होती थी, इसलिए उसे बाईं तरफ ले जाकर इस्तेमाल नहीं कर सकता था
    • एक sample के तौर पर, touchscreen typing निश्चित रूप से dominant hand से करने पर तेज होती है। दोनों हाथों से हो जाती है और handwriting जितनी मुश्किल नहीं है, लेकिन स्क्रीन पर जरा-सा देखने या कुछ swipes से आगे बढ़ते ही dominant hand ज्यादा आरामदेह लगता है
    • बाएं हाथ वालों में कुछ हद तक ambidextrous tendency आ ही जाती है। क्योंकि दुनिया हमसे दाएं हाथ वाला बनने की बहुत जोरदार मांग करती है
      मैं भी बाएं हाथ वाला हूं, लेकिन handwriting जैसे कई काम दाएं हाथ से करता हूं। पियानो में भी मेरा दायां हाथ dominant है, और ज्यादातर pieces जिस तरह लिखे गए हैं, उसका भी निश्चित रूप से असर पड़ा होगा। फोन में दोनों हाथ इस्तेमाल करता हूं
    • स्क्रीन देखने से ज्यादा कुछ करना हो तो असल में लगभग हमेशा सही हाथ ही इस्तेमाल करता हूं
    • मैं दाएं हाथ वाला हूं और दोनों हाथ इस्तेमाल करता हूं। दाएं हाथ को थोड़ा ज्यादा पसंद करता हूं, लेकिन एक छोटा test करने पर लगा कि फोन पर बाएं हाथ से typing दाएं से बेहतर है
      हालांकि दो-तीन वाक्यों से ज्यादा हो जाए तो दोनों अंगूठों से 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 होने के कारण मुझे नहीं पता?

    • यह एक mobile touch event bug था जिसका सामना सिर्फ बाएं हाथ वाले users ने किया। दाएं हाथ वाले लोग दाएं अंगूठे से screen drag करते हैं, इसलिए उनकी उंगली उस link के पास तक नहीं जाती थी जो गलती से trigger हो रहा था
    • लेख में स्पष्ट रूप से नहीं लिखा था, लेकिन linked PR देखने पर साफ है कि बात touchscreen use की है। शायद smartphone वाली स्थिति रही होगी