টেস্টিং

অ্যাক্সেসিবিলিটি পরীক্ষা করার একটি অপরিহার্য উপায় হ'ল ম্যানুয়াল টেস্টিং: অ্যাক্সেসিবিলিটি পরিষেবা চালু করে, যেমন TalkBack বা Switch Access, চালু করে এবং সবকিছু প্রত্যাশিতভাবে কাজ করে কিনা তা পরীক্ষা করে। অ্যাক্সেসিবিলিটি প্রয়োজন সহ ব্যবহারকারীরা আপনার অ্যাপ্লিকেশনটি কীভাবে অনুভব করতে পারে সে সম্পর্কে এটি সরাসরি অন্তর্দৃষ্টি প্রদান করে।

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

বিদ্যমান কম্পোজ টেস্টিং APIগুলি আপনাকে স্বয়ংক্রিয় পরীক্ষাগুলি লিখতে দেয় যা শব্দার্থিক উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে এবং আপনার UI-তে সংজ্ঞায়িত বৈশিষ্ট্যগুলিকে জোরদার করতে দেয়।

অ্যাক্সেসিবিলিটি চেক

স্বয়ংক্রিয় অ্যাক্সেসিবিলিটি পরীক্ষার জন্য, আপনি অ্যাক্সেসিবিলিটি টেস্ট ফ্রেমওয়ার্কও ব্যবহার করতে পারেন—একই অন্তর্নিহিত কাঠামো যা অ্যাকসেসিবিলিটি স্ক্যানার এবং এসপ্রেসো-তে অ্যাক্সেসিবিলিটি চেকগুলিকে ক্ষমতা দেয়—কম্পোজ 1.8.0 দিয়ে শুরু করে স্বয়ংক্রিয়ভাবে কিছু অ্যাক্সেসিবিলিটি-সম্পর্কিত চেকগুলি সম্পাদন করতে।

চেকগুলি সক্ষম করতে, ui-test-junit4-accessibility dependency যোগ করুন, AndroidComposeTestRuleenableAccessibilityChecks() কল করুন এবং একটি অ্যাকশন ট্রিগার করুন বা tryPerformAccessibilityChecks চেষ্টা করুন:

@Rule
@JvmField
val composeTestRule = createAndroidComposeRule<ComponentActivity>()

@Test
fun noAccessibilityLabel() {
    composeTestRule.setContent {
        Box(
            modifier = Modifier
                .size(50.dp, 50.dp)
                .background(color = Color.Gray)
                .clickable { }
                .semantics {
                    contentDescription = ""
                }
        )
    }

    composeTestRule.enableAccessibilityChecks()

    // Any action (such as performClick) will perform accessibility checks too:
    composeTestRule.onRoot().tryPerformAccessibilityChecks()
}

এই নির্দিষ্ট পরীক্ষাটি একটি ব্যতিক্রম এবং একটি বার্তা সহ ব্যর্থ হয় যে আইটেমটিতে অ্যাক্সেসিবিলিটি পরিষেবাগুলির দ্বারা পাঠযোগ্য কোনও লেবেল নাও থাকতে পারে৷

অন্যান্য উপলব্ধ চেকগুলি রঙের বৈসাদৃশ্য, ছোট টাচ টার্গেট সাইজ বা উপাদানগুলির ট্রাভার্সাল অর্ডার সহ অ্যাক্সেসিবিলিটি সমস্যাগুলির সন্ধান করে।

আপনি যদি কম্পোজের সাথে ভিউ মিশ্রিত করে থাকেন এবং আপনি ইতিমধ্যেই একটি AccessibilityValidator ব্যবহার করছেন, বা আপনাকে একটি কনফিগার করতে হবে, তাহলে আপনি এটি নিয়মে সেট করতে পারেন:

@Test
fun lowContrastScreen() {
    composeTestRule.setContent {
        Box(
            modifier = Modifier
                .fillMaxSize()
                .background(color = Color(0xFFFAFBFC)),
            contentAlignment = Alignment.Center
        ) {
            Text(text = "Hello", color = Color(0xFFB0B1B2))
        }
    }

    // Optionally, set AccessibilityValidator manually
    val accessibilityValidator = AccessibilityValidator()
        .setThrowExceptionFor(
            AccessibilityCheckResult.AccessibilityCheckResultType.WARNING
        )

    composeTestRule.enableAccessibilityChecks(accessibilityValidator)

    composeTestRule.onRoot().tryPerformAccessibilityChecks()
}

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

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}