এক্সএমএলে 'চিত্রের বিবরণ বিশিষ্টতা হারিয়েছে'


222

আমি [অ্যাক্সেসযোগ্যতা] অনুপস্থিত বিষয়বস্তুতে গ্রহনে চিত্রটিতে নিখরচায় বিষয়বস্তু বিশদ সম্পর্কে একটি সতর্কতা পেয়েছি । এই সতর্কতাটি ImageViewনীচে XML কোডে 5 লাইন (ঘোষিত ) শো করুন ।

আমার অ্যাপ্লিকেশনটি তৈরি এবং চালানোর সময় এটি কোনও ত্রুটি করে না। তবে কেন আমি এই সতর্কতাটি পেয়েছি তা আমি সত্যিই জানতে চাই।

এটি আমার এক্সএমএল ফাইল:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/contact_entry_image"
        android:src="@drawable/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <TextView
        android:id="@+id/contact_entry_text"
        android:text=""
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        />

</LinearLayout>

এই সম্পর্কে আমাকে সাহায্য করুন এবং আপনার পড়ার জন্য ধন্যবাদ।


6
নতুন এডিটি সংস্করণ পরামর্শটি android:contentDescriptionএই বৈশিষ্ট্যটিতে imageviewকেবল একটি পরামর্শ যুক্ত করুন, আমি মনে করি আপনি এটিকে উপেক্ষা করতে পারেন, এটি সংকলন ত্রুটি তৈরি করে না, এছাড়াও আপনি পরীক্ষা করতে পারেনhttp://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
ইডিয়টিটিগার

হ্যাঁ ঠিক আছে
রাহুল কুশওয়াহা

উত্তর:


269

সমাধানের জন্য এই লিঙ্কটি অনুসরণ করুন: অ্যান্ড্রয়েড লিন্ট বিষয়বস্তুর বিবরণ সতর্কতা

এই সতর্কতাটি অ্যান্ড্রয়েড অ্যাট্রয়েড: আমার চিত্রভিউয়ের জন্য বিষয়বস্তুর বিবরণ সেট করে সমাধান করেছেন

অ্যান্ড্রয়েড contentDescription = "@ স্ট্রিং / DESC"

চিত্রের উইজেটগুলি কোনও সামগ্রী বিবরণ সরবরাহ করে তা নিশ্চিত করার জন্য এডিটি 16 এ অ্যান্ড্রয়েড লিন্ট সমর্থন এই সতর্কতাটি ছুঁড়ে দেয়

এটি পাঠ্যের সংজ্ঞা দেয় যা সংক্ষিপ্তভাবে ভিউটির সামগ্রী বর্ণনা করে content এই সম্পত্তিটি প্রাথমিকভাবে অ্যাক্সেসযোগ্যতার জন্য ব্যবহৃত হয়। যেহেতু কিছু মতামতের পাঠ্য উপস্থাপনা নেই এই বৈশিষ্ট্যটি সরবরাহের জন্য এটি ব্যবহার করা যেতে পারে।

ইমেজভিউস এবং ইমেজব্যাটনের মতো অ-পাঠ্য উইজেটের উইজেটের একটি পাঠ্য বিবরণ নির্দিষ্ট করার জন্য বিষয়বস্তু বিবরণ বিশিষ্ট ব্যবহার করা উচিত যেমন স্ক্রিন পাঠক এবং অন্যান্য অ্যাক্সেসিবিলিটি সরঞ্জামগুলি ব্যবহারকারী ইন্টারফেসকে পর্যাপ্তরূপে বর্ণনা করতে পারে।

ব্যাখ্যার জন্য এই লিঙ্ক: অ্যাক্সেসযোগ্যতা, এটি প্রভাব এবং বিকাশ সংস্থানসমূহ

অনেক অ্যান্ড্রয়েড ব্যবহারকারীদের অক্ষম রয়েছে যার জন্য তাদের বিভিন্নভাবে তাদের অ্যান্ড্রয়েড ডিভাইসের সাথে ইন্টারেক্ট করার প্রয়োজন হয় require এর মধ্যে এমন ব্যবহারকারীদের অন্তর্ভুক্ত রয়েছে যাদের ভিজ্যুয়াল, শারীরিক বা বয়সের সাথে সম্পর্কিত অক্ষমতা রয়েছে যা তাদের সম্পূর্ণরূপে টাচস্ক্রিন দেখতে বা ব্যবহার করতে বাধা দেয়।

অ্যান্ড্রয়েড এই ব্যবহারকারীদের পাঠ্য থেকে স্পিচ, হ্যাপটিক প্রতিক্রিয়া, ট্র্যাকবল এবং ডি-প্যাড নেভিগেশন সহ আরও সহজে তাদের ডিভাইসগুলিতে নেভিগেট করতে সহায়তা করার জন্য অ্যাক্সেসযোগ্যতার বৈশিষ্ট্য এবং পরিষেবাগুলি সরবরাহ করে যা তাদের অভিজ্ঞতা বাড়িয়ে তোলে ug অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশকারীরা তাদের অ্যাপ্লিকেশনগুলিকে আরও অ্যাক্সেসযোগ্য করে তুলতে এবং তাদের নিজস্ব অ্যাক্সেসযোগ্যতার পরিষেবাগুলি তৈরি করতে এই পরিষেবাগুলির সুবিধা নিতে পারে।

এই গাইডটি আপনার অ্যাপ্লিকেশনটিকে অ্যাক্সেসযোগ্য করার জন্য: অ্যাপ্লিকেশনগুলিকে আরও অ্যাক্সেসযোগ্য করে তোলার জন্য

আপনার অ্যাপ্লিকেশনটি সকল ব্যবহারকারীর জন্য অ্যাক্সেসযোগ্য তা নিশ্চিত করা তুলনামূলকভাবে সহজ, বিশেষত যখন আপনি ফ্রেমওয়ার্ক সরবরাহিত ব্যবহারকারী ইন্টারফেস উপাদান ব্যবহার করেন। আপনি যদি কেবলমাত্র আপনার অ্যাপ্লিকেশনের জন্য এই মানক উপাদানগুলি ব্যবহার করেন তবে আপনার অ্যাপ্লিকেশনটি অ্যাক্সেসযোগ্য তা নিশ্চিত করার জন্য কয়েকটি পদক্ষেপ প্রয়োজন:

  1. আপনার লেবেল ImageButton , ImageView , editText , চেকবক্স ব্যবহার করে এবং অন্যান্য ইউজার ইন্টারফেস নিয়ন্ত্রণ contentDescription: Android অ্যাট্রিবিউট।

  2. আপনার সমস্ত ইউজার ইন্টারফেসের উপাদানগুলিকে একটি নির্দেশিক নিয়ামক যেমন ট্র্যাকবল বা ডি-প্যাড দিয়ে অ্যাক্সেসযোগ্য করে তুলুন।

  3. টকব্যাক এবং স্পর্শ দ্বারা এক্সপ্লোরার এর মতো অ্যাক্সেসযোগ্যতার পরিষেবাগুলি চালু করে আপনার অ্যাপ্লিকেশনটি পরীক্ষা করুন এবং কেবলমাত্র নির্দেশিক নিয়ন্ত্রণ ব্যবহার করে আপনার অ্যাপ্লিকেশনটি ব্যবহার করে দেখুন।


92
আরও একটি গুরুত্বপূর্ণ নোট! এই ক্ষেত্রে, দেখে মনে হচ্ছে ছবিটি নিখুঁতভাবে আলংকারিক এবং ব্যবহারকারীর অতিরিক্ত তথ্য সরবরাহ করে না। সুতরাং, উদাহরণস্বরূপ, আপনি ব্যবহারকারীর সাথে "যোগাযোগের চিত্র" বলতে চাইবেন না তবে আপনি যদি অন্য কোথাও এই পাঠ্যটি না দেখান তবে আপনি "ববরের প্রোফাইল ফটো" বলতে চাইতে পারেন। যদি কোনও চিত্র ব্যবহারকারীর সাথে কথা না বলা হয় তবে আপনি অ্যান্ড্রয়েড সেট করতে পারেন: কন্টেন্টডেস্ক্রিপশন = "@ নাল" এবং সতর্কতাটি চলে যাবে।
alanv

1
@ অ্যালানভ: দুর্দান্ত মন্তব্য। সতর্কতা সম্পূর্ণরূপে অক্ষম করার চেয়ে অনেক ভাল যা সাধারণত পরামর্শ দেওয়া হয়।
চিফ টুপেনসিলস

13
আসলে আমি অ্যান্ড্রয়েডকে মনে করি না: কন্টেন্টডেস্ক্রিপশন = "@ নাল" সেরা সমাধান। আমি সরঞ্জামগুলি ব্যবহার করছি: উপেক্ষা = "সামগ্রীর বিবরণ" যা হ'ল তা বোঝানো হচ্ছে। নিশ্চিত হয়ে নিন যে আপনি নিজের মূল বিন্যাসে xmlns: সরঞ্জাম = " স্কিমাস.অ্যান্ড্রয়েড / টলস " অন্তর্ভুক্ত করেছেন ।
সোতি

এই জাতীয় দস্তাবেজ সরবরাহ করার জন্য আপনাকে ধন্যবাদ। যখন আপনার ওয়ালপেপার গ্যালারী অ্যাপের মতো চিত্র থাকতে পারে, তখন সমস্ত চিত্রের জন্য সামগ্রীর বিবরণ যুক্ত করা কি উপযুক্ত? এবং এটি অ্যাপ্লিকেশন কর্মক্ষমতা উপর প্রভাব ফেলতে পারে?
রাহুল মান্ডালিয়া

67

যোগ android:contentDescription="@string/description"(স্ট্যাটিক বা গতিশীল) আপনার ImageView করতে। দয়া করে বার্তাটিকে উপেক্ষা করবেন না বা ফিল্টার করবেন না, কারণ এটির অক্ষমতার কারণে বিকল্প ইনপুট পদ্ধতি ব্যবহার করা লোকদের জন্য সহায়ক (যেমন টকব্যাক, টেকলা অ্যাক্সেস শিল্ড ইত্যাদি)।


@ জেরোইন- যখন আমি বিবরণ যুক্ত করেছি, তখন এটি বলছে: "সংস্থানটি @ স্ট্রিং / লগইনটেক্সট সমাধান করতে পারিনি" - কেন এটি?
জামাল জাফর

এক্সএমএল স্ট্রিংটিতে আপনার লগইনটেক্সট স্ট্রিং রয়েছে?
প্রবীণ

1
@ জামাল জাফর লগইন টেক্সট নামের সাথে স্ট্রিং.এক্সএমএলে একটি স্ট্রিং তৈরি করুন
আয়ুশ গোয়াল '

36

আপডেট করা হয়েছে:

মন্তব্যে নির্দেশিত হিসাবে, বিবরণটি নালিতে সেট করা ইঙ্গিত দেয় যে চিত্রটি নিখুঁতভাবে আলংকারিক এবং টকব্যাকের মতো স্ক্রিন পাঠকদের দ্বারা এটি বোঝা যাচ্ছে।

পুরানো উত্তর, আমি আর এই উত্তরটি সমর্থন করি না:

সমস্ত লোকেরা কীভাবে সতর্কতা এড়াতে পারে তা দেখছেন:

আমি মনে করি না android:contentDescription="@null"এটিই সেরা সমাধান।

আমি tools:ignore="ContentDescription"যা বোঝাতে চাইছি তা ব্যবহার করছি ।

আপনি xmlns:tools="http://schemas.android.com/tools"আপনার মূল বিন্যাসে অন্তর্ভুক্ত করেছেন তা নিশ্চিত করুন ।


1
এইটিকে উত্সাহিত করা উচিত কারণ এটি গুগল যা বলেছিল তাও
লে দিন নহাত খানহ

4
ব্যবহার @nullএকটি contentDescription যেমন স্পষ্টভাবে বলছে যে এই ছবিটি বিশুদ্ধরূপে আলংকারিক হয় একটি উপায়। কেবল সতর্কতা উপেক্ষা করা সঠিক সমাধান নয়।
কর্ল

1
ব্যবহার @nullটকব্যাককে বলে যে চিত্রটি আলংকারিক। আপনার মনে হচ্ছে সতর্কবার্তাটি @nullটকব্যাকটি রাখার পরিবর্তে এটি মনে হচ্ছে না যে এটি অনুপস্থিত এবং সেখানে থাকা উচিত than
এবি

10

যোগ

tools:ignore="ContentDescription"

আপনার ইমেজ। xmlns:tools="http://schemas.android.com/tools" .আপনার মূল বিন্যাসে রয়েছে তা নিশ্চিত করুন ।


1
+1 টি। এটি এই সমস্যার জন্য অ্যান্ড্রয়েড স্টুডিওর সমাধান (যখন আপনি কোড বিশ্লেষণ সম্পাদন করেন, "
লিপসকে

9

সতর্কতাটি সত্যই বিরক্তিকর এবং অনেকগুলি (বেশিরভাগ!) ক্ষেত্রে বিভিন্ন সজ্জাসংক্রান্ত ইমেজভিউগুলির জন্য কোনও বিষয়বস্তুর বিবরণ প্রয়োজন হয় না। সমস্যাটি সমাধানের সর্বাধিক মূল উপায় হ'ল লিন্টকে এই চেকটিকে উপেক্ষা করতে বলা। ইক্লিপসে, অগ্রাধিকারগুলিতে "অ্যান্ড্রয়েড / লিন্ট ত্রুটি চেকিং" এ যান, "কন্টেন্টডেসক্রিপশন" (এটি "অ্যাক্সেসিবিলিটি" গ্রুপে রয়েছে) সন্ধান করুন এবং "তীব্রতা:" উপেক্ষা করার জন্য পরিবর্তন করুন।


9
এই সতর্কতা উপেক্ষা করবেন না। অন্যরা যেমন উল্লেখ করেছে যে অ্যাক্সেসযোগ্যতাটি এটি কেবল একটি আলংকারিক চিত্র হিসাবেও গুরুত্বপূর্ণ। পছন্দসই বিষয়বস্তু যুক্ত করা কোনও বড় বিষয় নয় বিবরণ
জামেস্ক

1
আপনার অ্যাপ্লিকেশন এমন একটি হয় যা সামগ্রীর বিবরণ দিয়েও মূলত অ্যাক্সেসযোগ্য if উদাহরণস্বরূপ, এমন contentDescriptionখেলায় কেন বিরক্ত হবেন যাতে খেলতে সক্ষম হওয়ার জন্য দৃষ্টিশক্তি প্রয়োজন?
CorayThan

হ্যাঁ, যে হয় আমূল পছন্দ; সুতরাং লোকেরা যারা এর উদ্দেশ্য সম্পর্কে সচেতন এবং তা মেনে চলতে চায় তারা কী করবে? আমি বলার উদ্যোগ নেব যে এই বিশেষ ক্ষেত্রে "বেশিরভাগ" কেস ভুলে যান; এটি বোঝাচ্ছে যে "বেশিরভাগ লোক" উদাহরণস্বরূপ, অন্ধ নয় কেন এটি একটি অযথা সতর্কবাণী? যদি আপনার চিত্রগুলির বেশিরভাগ "তেমন কোনও সামগ্রী প্রয়োজন না - সূক্ষ্ম, সতর্কতাটি অক্ষম করুন, তবে এটি যেখানে যুক্তিযুক্ত তা যুক্ত করুন। কিছুটা সহায়ক হওয়ায় দীর্ঘ পথ যেতে পারে।
চিফ টুপেনসিল

9

আপনি যদি কিছু যত্ন না করেন তবে এটি করুন:

    android:contentDescription="@null"

যদিও আমি গৃহীত সমাধানগুলিতে পরামর্শ দেব, এটি হ্যাক: ডি


3
আসলে আমি অ্যান্ড্রয়েডকে মনে করি না: কন্টেন্টডেস্ক্রিপশন = "@ নাল" সেরা সমাধান। আমি সরঞ্জামগুলি ব্যবহার করছি: উপেক্ষা = "সামগ্রীর বিবরণ" যা হ'ল তা বোঝানো হচ্ছে। নিশ্চিত হয়ে নিন যে আপনি নিজের মূল বিন্যাসে xmlns: সরঞ্জাম = " স্কিমাস.অ্যান্ড্রয়েড / টলস " অন্তর্ভুক্ত করেছেন ।
সোটি

কেউ তা বলেনি। আবার মন্তব্য পড়ুন। আপনি কেবল সতর্কতাটিকে এড়িয়ে যান তাই আপনার সরবরাহ করা সমাধানটি আরও খারাপ। সর্বাধিক গৃহীত উত্তর পড়ুন।
এলাপ

5

নিখুঁতভাবে আলংকারিক যে গ্রাফিকাল উপাদানগুলির জন্য এগিয়ে যাচ্ছি, তার জন্য সেরা সমাধানটি ব্যবহার করা ভাল:

android:importantForAccessibility="no"

আপনার ন্যূনতম এসডিকে সংস্করণটি কমপক্ষে 16 হলে এটি বোঝা যায়, যেহেতু নিম্ন সংস্করণে চলমান ডিভাইসগুলি এই বৈশিষ্ট্যটিকে উপেক্ষা করবে।

আপনি যদি পুরানো সংস্করণগুলি সমর্থন করে আটকে থাকেন তবে আপনার ব্যবহার করা উচিত (অন্যদের মতো ইতিমধ্যে নির্দেশিত):

android:contentDescription="@null"

উত্স: https://developer.android.com/guide/topics/ui/accessibility/apps#label- উপাদান


2

এই সতর্কতাটি আপনার অ্যাপ্লিকেশনটির অ্যাক্সেসযোগ্যতা উন্নত করার চেষ্টা করে।

পুরো প্রকল্পে অনুপস্থিত সামগ্রীর বিবরণ সতর্কতাটি অক্ষম করতে, আপনি এটি আপনার অ্যাপ্লিকেশন মডিউলে বিল্ড.gradle এ যুক্ত করতে পারেন

android {

    ...

    lintOptions {
        disable 'ContentDescription'
    }
}

0

এটি আপনাকে সতর্কতা দিচ্ছে কারণ চিত্রের বিবরণ সংজ্ঞায়িত হয়নি।

স্ট্রিংস.এক্সএমএল এবং কার্যকলাপ_মাইন.এক্সএমএলে নীচে এই কোডটি যুক্ত করে আমরা এই সতর্কতাটি সমাধান করতে পারি

এই রেখাটি নীচে স্ট্রিংস.এক্সএমএল এ যুক্ত করুন

<string name="imgDescription">Background Picture</string>
you image will be like that:
<ImageView
        android:id="@+id/imageView2"
        android:lay`enter code hereout_width="0dp"
        android:layout_height="wrap_content"
        android:contentDescription="@string/imgDescription"
        app:layout_editor_absoluteX="0dp"
        app:layout_editor_absoluteY="0dp"
        app:srcCompat="@drawable/background1"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

ক্রিয়াকলাপ_মাইন.এক্সএমএলে এই লাইনটি যুক্ত করুন

android:contentDescription="@string/imgDescription"

strings.xml

<resources>
    <string name="app_name">Saini_Browser</string>
    <string name="SainiBrowser">textView2</string>
    <string name="imgDescription">BackGround Picture</string>
</resources>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.