ব্যবহারকারীরা যখন আপনার অ্যাপের সাথে ইন্টার্যাক্ট করেন, তখন তারা প্রায়শই নন-টাচ ইনপুট মেকানিজম ব্যবহার করে তা করেন:
- ডেস্কটপ এনভায়রনমেন্ট: ব্যবহারকারীরা ফিজিক্যাল হার্ডওয়্যার কীবোর্ড ও ট্র্যাকপ্যাডের সাহায্যে নেভিগেট ও ডেটা ইনপুট করেন।
- Android TV: ব্যবহারকারীরা D-প্যাড ব্যবহার করে ইন্টারফেস নেভিগেট করেন।
- অটোমোটিভ: ড্রাইভার ও যাত্রীরা রোটারি কন্ট্রোলার ব্যবহার করে ইন্টার্যাক্ট করেন।
- ফোল্ডেবল ও ট্যাবলেট: ব্যবহারকারীরা কীবোর্ড কভার ও এক্সটার্নাল ইনপুট অ্যাক্সেসরিজ অ্যাটাচ করেন।
এইসব পরিস্থিতিতে, আপনার অ্যাপকে অবশ্যই ট্র্যাক করতে হবে স্ক্রিনে কোন ইন্টার্যাক্টিভ এলিমেন্ট অ্যাক্টিভ আছে—এই অ্যাক্টিভ অবস্থাকে ফোকাস বলা হয়।
ইনট্যুইটিভ কীবোর্ড নেভিগেশনের মূল বিষয়
বড় স্ক্রিন ও টাচ-স্ক্রিন নয় এমন ডিভাইসে ব্যবহারকারীদের দুর্দান্ত অভিজ্ঞতা দিতে, নিচে উল্লেখ করা নীতি মেনে আপনার অ্যাপ ডিজাইন করুন:
- লজিক্যাল প্রারম্ভিক ফোকাস: স্ক্রিনে প্রবেশ করার সময় ব্যবহারকারীরা যে এলিমেন্টের সাথে সবচেয়ে বেশি ইন্টার্যাক্ট করতে পারেন, সেটির উপর প্রারম্ভিক ফোকাস রাখুন।
- একই ধরনের নেভিগেশন ক্রম: অনুমান করা যায় এমন এক-ডাইমেনশনাল (Tab) এবং দুই-ডাইমেনশনাল (তীরচিহ্ন বা ডি-প্যাড) ফোকাস ট্রাভার্সাল প্রদান করুন।
- পারসিস্টেন্ট ফোকাস: কোনও বাধা, ডায়ালগ বাতিল করা বা কনফিগারেশন পরিবর্তনের পরে নির্বিঘ্নে ফোকাস ফিরিয়ে আনুন।
- স্পষ্ট ফোকাস স্টেট: বর্তমানে কোন এলিমেন্টে ফোকাস রয়েছে তা বোঝাতে স্পষ্ট, অ্যাক্সেসযোগ্য ভিজ্যুয়াল ইঙ্গিত (যেমন, ফোকাস রিং বা রিপল) দেখান।
- ইনট্যুইটিভ স্ক্রলিং: ফোকাস করা এলিমেন্ট এবং তার আশেপাশের প্রাসঙ্গিক তথ্য যাতে দৃশ্যমান ভিউপোর্টে মসৃণভাবে স্ক্রল করে তা নিশ্চিত করুন।
ফোকাস গাইড
Compose-এ কীভাবে ফোকাস ম্যানেজ ও কাস্টমাইজ করতে হয় তা জানতে নিম্নলিখিত নির্দেশিকা দেখুন:
- ফোকাস টার্গেট: ইন্টার্যাক্টিভ কম্পোনেন্ট কীভাবে ফোকাস টার্গেট হয় এবং কীভাবে কাস্টম কম্পোজেবল ফোকাস করার উপযুক্ত করা যায় তা জানুন।
- ফোকাস ট্র্যাভার্সাল অর্ডার: 1D অ্যাপিয়ারেন্স অর্ডার ও 2D স্পেশিয়াল নেভিগেশন এবং ট্র্যাভার্সাল পাথ কীভাবে কাস্টমাইজ করতে হয় তা বুঝুন।
- টেক্সট ফিল্ডে ফোকাস করা: সিঙ্গেল-লাইন ও মাল্টি-লাইন টেক্সট ফিল্ড কীভাবে Tab ও তীরচিহ্ন কী ম্যানেজ করে এবং TV IME ইন্টার্যাকশন কীভাবে কাজ করে তা জানুন।
- গ্রুপ ফোকাস টার্গেট:
focusGroup-এর সাথে গ্রুপ কম্পোনেন্ট এবং এন্ট্রি বা এক্সিট রিডাইরেকশন ইন্টারসেপ্ট করুন। - ফোকাস ফিরিয়ে আনা: কন্টেনারে আগে অ্যাক্টিভ থাকা চাইল্ডে ফোকাস ফিরিয়ে আনা, নেভিগেশন কম্পোনেন্ট ম্যানেজ করা এবং স্ক্রিন ট্রানজিশন জুড়ে ফোকাস ম্যানেজ করা।
- ফোকাস স্টেট নির্দেশ করা: ফোকাস করা কম্পোনেন্ট হাইলাইট করতে ভিজ্যুয়াল কিউ ও কাস্টম নির্দেশ প্রয়োগ করুন।
- ফোকাসে প্রতিক্রিয়া জানান:
onFocusChangedব্যবহার করে ফোকাস পরিবর্তন এবং কোয়েরি ফোকাস স্টেট প্রপার্টি পর্যবেক্ষণ করুন। - প্রোগ্রাম্যাটিক্যালি ফোকাস করার অনুরোধ করুন: ব্যবহারকারীর অ্যাকশন বা যাচাইকরণ সংক্রান্ত সমস্যার প্রতিক্রিয়ায় স্পষ্টভাবে ফোকাস সরান।
- ফোকাস সরানো ও মুছে দেওয়া:
FocusManagerব্যবহার করে প্রোগ্রাম্যাটিক্যালি ফোকাস সরানো বা মুছে দেওয়া। - ফোকাস ক্যাপচার ও রিলিজ করা: মোডাল সাব-ইন্টার্যাকশনের জন্য ফোকাস ক্যাপচার করা এবং নিরাপদে তা রিলিজ করা।
- ফোকাস নেভিগেশন টেস্ট করা: 1D, 2D ও টেক্সট ফিল্ড কীবোর্ড ইন্টার্যাকশন যাচাই করতে অটোমেটেড কম্পোজ টেস্ট লিখুন।
আপনার জন্য সাজেস্ট করা হয়েছে
- মনে রাখবেন: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট দেখানো হয়
- ফোকাস টার্গেট
- ফোকাস ট্রাভার্সাল অর্ডার
- টেক্সট ফিল্ডে ফোকাস করুন
- গ্রুপ ফোকাস টার্গেট
- টেস্ট ফোকাস নেভিগেশন