mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 13:11:39 +07:00
IJPL-162408 improve AccessibleNameNotEmpty inspection and add utils.kt
Merge-request: IJ-MR-146013 Merged-by: Dmitrii Drobotov <dmitry.drobotov@jetbrains.com> GitOrigin-RevId: 274e2837c30eb77ac14559766c40125c30777b07
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ff567970a9
commit
3df8bf4481
+2
-4
@@ -12,10 +12,8 @@ class AccessibleNameAndDescriptionNotEqualInspection : UiInspectorAccessibilityI
|
||||
override val severity: Severity = Severity.WARNING
|
||||
|
||||
override fun passesInspection(context: AccessibleContext): Boolean {
|
||||
val name = context.accessibleName
|
||||
val description = context.accessibleDescription
|
||||
if (name != null && description != null && name.isNotEmpty() && description.isNotEmpty()) {
|
||||
return name != description
|
||||
if (context.accessibleName != null && context.accessibleDescription != null && context.accessibleName.isNotEmpty() && context.accessibleDescription.isNotEmpty()) {
|
||||
return context.accessibleName != context.accessibleDescription
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
+1
-6
@@ -13,12 +13,7 @@ class AccessibleNameNotEmptyForFocusableComponentsInspection : UiInspectorAccess
|
||||
override val severity: Severity = Severity.WARNING
|
||||
|
||||
override fun passesInspection(context: AccessibleContext): Boolean {
|
||||
val states = context.accessibleStateSet
|
||||
val containsAll = states.contains(AccessibleState.ENABLED)
|
||||
&& states.contains(AccessibleState.FOCUSABLE)
|
||||
&& states.contains(AccessibleState.VISIBLE)
|
||||
&& states.contains(AccessibleState.SHOWING)
|
||||
if (containsAll) {
|
||||
if (context.isVisibleAndEnabled() && context.accessibleStateSet.contains(AccessibleState.FOCUSABLE) && context.isInteractive()) {
|
||||
return context.accessibleName != null && !context.accessibleName.isEmpty()
|
||||
}
|
||||
return true
|
||||
|
||||
+1
-18
@@ -4,7 +4,6 @@ package com.intellij.internal.inspector.accessibilityAudit
|
||||
import com.intellij.internal.InternalActionsBundle
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import javax.accessibility.AccessibleContext
|
||||
import javax.accessibility.AccessibleRole
|
||||
import javax.accessibility.AccessibleState
|
||||
|
||||
@ApiStatus.Internal
|
||||
@@ -14,23 +13,7 @@ class AccessibleStateSetContainsFocusableInspection : UiInspectorAccessibilityIn
|
||||
override val severity: Severity = Severity.WARNING
|
||||
|
||||
override fun passesInspection(context: AccessibleContext): Boolean {
|
||||
if ((context.accessibleStateSet.contains(AccessibleState.ENABLED) &&
|
||||
context.accessibleStateSet.contains(AccessibleState.VISIBLE) &&
|
||||
context.accessibleStateSet.contains(AccessibleState.SHOWING)) &&
|
||||
context.accessibleRole in arrayOf(AccessibleRole.CHECK_BOX,
|
||||
AccessibleRole.PUSH_BUTTON,
|
||||
AccessibleRole.RADIO_BUTTON,
|
||||
AccessibleRole.TOGGLE_BUTTON,
|
||||
AccessibleRole.LIST,
|
||||
AccessibleRole.LIST_ITEM,
|
||||
AccessibleRole.TABLE,
|
||||
AccessibleRole.TREE,
|
||||
AccessibleRole.PAGE_TAB_LIST,
|
||||
AccessibleRole.TEXT,
|
||||
AccessibleRole.PASSWORD_TEXT,
|
||||
AccessibleRole.HYPERLINK,
|
||||
AccessibleRole.POPUP_MENU,
|
||||
AccessibleRole.SLIDER)) {
|
||||
if (context.isInteractive() && context.isVisibleAndEnabled()) {
|
||||
return context.accessibleStateSet.contains(AccessibleState.FOCUSABLE)
|
||||
}
|
||||
return true
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.internal.inspector.accessibilityAudit
|
||||
|
||||
import javax.accessibility.AccessibleContext
|
||||
import javax.accessibility.AccessibleRole
|
||||
import javax.accessibility.AccessibleState
|
||||
|
||||
internal fun AccessibleContext.isInteractive(): Boolean {
|
||||
return this.accessibleRole in arrayOf(AccessibleRole.CHECK_BOX,
|
||||
AccessibleRole.PUSH_BUTTON,
|
||||
AccessibleRole.RADIO_BUTTON,
|
||||
AccessibleRole.TOGGLE_BUTTON,
|
||||
AccessibleRole.LIST,
|
||||
AccessibleRole.LIST_ITEM,
|
||||
AccessibleRole.TABLE,
|
||||
AccessibleRole.TREE,
|
||||
AccessibleRole.PAGE_TAB_LIST,
|
||||
AccessibleRole.TEXT,
|
||||
AccessibleRole.PASSWORD_TEXT,
|
||||
AccessibleRole.HYPERLINK,
|
||||
AccessibleRole.POPUP_MENU,
|
||||
AccessibleRole.SLIDER)
|
||||
}
|
||||
|
||||
internal fun AccessibleContext.isVisibleAndEnabled(): Boolean {
|
||||
return this.accessibleStateSet.contains(AccessibleState.ENABLED) &&
|
||||
this.accessibleStateSet.contains(AccessibleState.VISIBLE) &&
|
||||
this.accessibleStateSet.contains(AccessibleState.SHOWING)
|
||||
}
|
||||
Reference in New Issue
Block a user