মোবাইলের জন্য অটোক্যাপিটালাইজ করুন

এটি অস্তিত্বের সবচেয়ে অপ্রতিরোধ্য বৈশিষ্ট্যের মতো দেখতে পারে, তবে আমি মনে করি এটি গুরুত্বপূর্ণ কারণ প্রত্যেকে মোবাইলে টাইপ করা অপছন্দ করে: আপনি এটি ঘৃণা করেন, আমি এটি ঘৃণা করি। অ্যান্ড্রয়েডের জন্য Chrome-এ (Chrome 43-এর আগে - এপ্রিল 2015 এর বিটা) ব্রাউজার কীভাবে ব্যবহারকারীকে পাঠ্য লিখতে সাহায্য করতে পারে তার উপর একজন বিকাশকারীর খুব কম নিয়ন্ত্রণ থাকে। আপনি যদি আজ একটি ডিভাইসে টাইপ করেন, তাহলে এটি দেখতে এরকম হতে পারে:

লক্ষ্য করুন সমস্ত কিছু ছোট হাতের অক্ষরে রয়েছে এবং কিছু মান যা অ্যান্ড্রয়েড স্বীকৃত একটি নাম।

Apple iOS 5-এ অটোক্যাপিটালাইজ নামে HTMLInputElement এবং HTMLTextAreaElement এ একটি অ্যাট্রিবিউট প্রবর্তন করেছে এবং এটি পৃষ্ঠার লেখককে ইঙ্গিত করতে দেয় যে কীভাবে ব্যবহারকারীর জন্য টেক্সট এন্ট্রি অপ্টিমাইজ করার জন্য ব্রাউজারটিকে ভার্চুয়াল কীবোর্ড উপস্থাপন করা উচিত। এর সহজতম আকারে, আপনি নির্দেশ করতে পারেন যে একটি টেক্সট বক্স স্বয়ংক্রিয়ভাবে প্রতিটি নতুন বাক্যের প্রথম অক্ষর বড় করা উচিত।

Chrome 43 থেকে, Chrome HTMLInputElement এবং HTMLTextAreaElement উভয় ক্ষেত্রেই অটোক্যাপিটালাইজ অ্যাট্রিবিউট সমর্থন করবে, যা আপনাকে ভার্চুয়াল কীবোর্ডের অটোক্যাপিটালাইজেশন আচরণ নিয়ন্ত্রণ করতে এবং এটিকে iOS-এ Safari-এর সাথে ইনলাইনে আনতে দেবে।

অটোক্যাপিটালাইজ শুধুমাত্র HTMLInputElement এর ক্ষেত্রে প্রযোজ্য হবে যেখানে টাইপ অ্যাট্রিবিউট সেট আছে: type="text" , type="search" , type="url" , type="tel" , type="email" or type="password" . ডিফল্ট স্বয়ংক্রিয় ক্যাপিটালাইজ না হয়.

এখানে একটি সাধারণ উদাহরণ যা আপনাকে একটি পাঠ্য অঞ্চলে বাক্যগুলিকে স্বয়ংক্রিয় ক্যাপিটালাইজ করতে দেয়:

<textarea autocapitalize="sentences">

কি মান অটোক্যাপিটালাইজ নিতে পারে?

একটি ইনপুট উপাদান থাকতে পারে এমন বিভিন্ন অবস্থায় নিম্নলিখিত টেবিলটি দেখায়:

অবস্থা কীওয়ার্ড
<input>
<input autocapitalize=off>
কোনো ক্যাপিটালাইজেশন নেই কোনটিই [ডিফল্ট]
বন্ধ
<input autocapitalize=characters> ক্যারেক্টার ক্যাপিটালাইজেশন চরিত্র
<input autocapitalize=words> শব্দ ক্যাপিটালাইজেশন শব্দ
<input autocapitalize=sentences> বাক্য ক্যাপিটালাইজেশন বাক্য

HTMLInputElement এর জন্য, অবৈধ মান ডিফল্ট হল সেন্টেন্স ক্যাপিটালাইজেশন যদি উপাদানটির ধরন type= text বা type= search হয়। অন্যথায়, এটি কোন ক্যাপিটালাইজেশন নয়

  • <input autocapitalize="simon"> বাক্য ক্যাপিটালাইজেশন সহ একটি পাঠ্য ক্ষেত্র হবে
  • <input type="email" autocapitalize="simon"> কোন ক্যাপিটালাইজেশন সহ একটি পাঠ্য ক্ষেত্র হবে।
  • <input> কোন ক্যাপিটালাইজেশন সহ একটি পাঠ্য ক্ষেত্র হবে।

HTMLTextAreaElement এর জন্য, অবৈধ মান ডিফল্ট বাক্য ক্যাপিটালাইজেশন । এটি ডিফল্ট আচরণ থেকে একটি পরিবর্তন.

  • <textarea autocapitalize="terry"></textarea> বাক্য বড়োকরণ সহ একটি পাঠ্য এলাকা হবে
  • <textarea></textarea> বাক্য বড়করণ সহ একটি পাঠ্য এলাকা হবে।
  • <textarea autocapitalize="none"></textarea> কোন ক্যাপিটালাইজেশন সহ একটি পাঠ্য এলাকা হবে।

HTMLFormElement এর জন্য আমরা অ্যাট্রিবিউটটি বাস্তবায়ন না করার সিদ্ধান্ত নিয়েছি, কারণ আমরা দেখেছি যে এটি আজ পৃষ্ঠাগুলিতে খুব কমই ব্যবহৃত হয়, এবং যখন এটি ব্যবহার করা হয়, এটি বেশিরভাগ ক্ষেত্রে সম্পূর্ণরূপে অটোক্যাপিটালাইজেশন অক্ষম করতে ব্যবহৃত হয়:

<form autocapitalize=off><input></form>

উপরেরটি বিজোড়, কারণ HTMLInputElement এর ডিফল্ট অবস্থা কোন ক্যাপিটালাইজেশন নয়

কেন আপনি এই inputmode ব্যবহার করছেন?

inputmode অন্যান্য জিনিসের মধ্যে একই ধরনের সমস্যা সমাধানের জন্য বোঝানো হয়। যাইহোক, এটিতে ব্রাউজার বাস্তবায়নের অভাব রয়েছে - আমাদের সর্বোত্তম জ্ঞান অনুসারে, শুধুমাত্র Firefox OS এর একটি বাস্তবায়ন রয়েছে এবং এটি প্রিফিক্সড (x-inputmode) - তবে এটি ওয়েবে খুব কম ব্যবহার করে। অন্যদিকে, autocapitalize ইতিমধ্যেই কয়েক হাজার ওয়েবসাইটে লক্ষ লক্ষ পৃষ্ঠা জুড়ে ব্যবহৃত হয়।

আমি কখন এটি ব্যবহার করা উচিত?

আপনি কখন autocapitalize ব্যবহার করবেন তার একটি সম্পূর্ণ তালিকা নয়; তবে এমন অনেক জায়গা রয়েছে যেখানে ব্যবহারকারীকে পাঠ্য প্রবেশ করতে সাহায্য করা দুর্দান্ত মূল্য প্রদান করে:

  • autocapitalization=words ব্যবহার করুন যদি আপনি হন
    • লোকেদের নাম প্রত্যাশা করা (দ্রষ্টব্য: সমস্ত নাম এই নিয়ম অনুসরণ করে না, তবে বেশিরভাগ পশ্চিমা নামগুলি প্রত্যাশিত হিসাবে স্বয়ংক্রিয়ভাবে বড় হয়ে যাবে)
    • কোম্পানির নাম
    • ঠিকানা
  • autocapitalization=characters ব্যবহার করুন যদি আপনি আশা করেন:
    • মার্কিন রাষ্ট্র
    • ইউকে পোস্টাল কোড
  • ইনপুট উপাদানগুলির জন্য sentences ব্যবহার করুন যদি আপনি সাধারণ অনুচ্ছেদ আকারে প্রবেশ করানো বিষয়বস্তুর আশা করেন - উদাহরণস্বরূপ, একটি ব্লগ পোস্ট৷
  • TextAreas-এ none ব্যবহার করুন না যদি আপনি এমন বিষয়বস্তুর আশা করেন যা প্রভাবিত হবে না - উদাহরণস্বরূপ, কোড প্রবেশ করানো।
  • আপনি ইঙ্গিত করতে না চাইলে, অটোক্যাপিটালাইজ যোগ করবেন না।