Revert "Fixes Android text field to use hint text for accessibility (#36846)" (flutter/engine#37083)

This reverts commit 0a923d0c24.
This commit is contained in:
Gary Qian
2022-10-27 12:10:52 -07:00
committed by GitHub
parent 1806c34015
commit b34da51ee8
2 changed files with 13 additions and 46 deletions

View File

@@ -885,8 +885,7 @@ public class AccessibilityBridge extends AccessibilityNodeProvider {
// Scopes routes are not focusable, only need to set the content
// for non-scopes-routes semantics nodes.
if (semanticsNode.hasFlag(Flag.IS_TEXT_FIELD)) {
result.setText(semanticsNode.getValue());
result.setHintText(semanticsNode.getTextFieldHint());
result.setText(semanticsNode.getValueLabelHint());
} else if (!semanticsNode.hasFlag(Flag.SCOPES_ROUTE)) {
CharSequence content = semanticsNode.getValueLabelHint();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
@@ -2774,47 +2773,18 @@ public class AccessibilityBridge extends AccessibilityNodeProvider {
return Math.max(a, Math.max(b, Math.max(c, d)));
}
private CharSequence getValue() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return value;
} else {
return createSpannableString(value, valueAttributes);
}
}
private CharSequence getLabel() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return label;
} else {
return createSpannableString(label, labelAttributes);
}
}
private CharSequence getHint() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return hint;
} else {
return createSpannableString(hint, hintAttributes);
}
}
private CharSequence getValueLabelHint() {
CharSequence[] array = new CharSequence[] {getValue(), getLabel(), getHint()};
CharSequence result = null;
for (CharSequence word : array) {
if (word != null && word.length() > 0) {
if (result == null || result.length() == 0) {
result = word;
} else {
result = TextUtils.concat(result, ", ", word);
}
}
CharSequence[] array;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
array = new CharSequence[] {value, label, hint};
} else {
array =
new CharSequence[] {
createSpannableString(value, valueAttributes),
createSpannableString(label, labelAttributes),
createSpannableString(hint, hintAttributes),
};
}
return result;
}
private CharSequence getTextFieldHint() {
CharSequence[] array = new CharSequence[] {getLabel(), getHint()};
CharSequence result = null;
for (CharSequence word : array) {
if (word != null && word.length() > 0) {

View File

@@ -77,13 +77,11 @@ public class AccessibilityBridgeTest {
}
@Test
public void itDescribesTextFieldsWithTextAndHint() {
public void itDescribesTextFieldsWithText() {
AccessibilityBridge accessibilityBridge = setUpBridge();
TestSemanticsNode testSemanticsNode = new TestSemanticsNode();
testSemanticsNode.value = "Hello, World";
testSemanticsNode.label = "some label";
testSemanticsNode.hint = "some hint";
testSemanticsNode.label = "Hello, World";
testSemanticsNode.addFlag(AccessibilityBridge.Flag.IS_TEXT_FIELD);
TestSemanticsUpdate testSemanticsUpdate = testSemanticsNode.toUpdate();
testSemanticsUpdate.sendUpdateToBridge(accessibilityBridge);
@@ -91,7 +89,6 @@ public class AccessibilityBridgeTest {
assertEquals(nodeInfo.getContentDescription(), null);
assertEquals(nodeInfo.getText().toString(), "Hello, World");
assertEquals(nodeInfo.getHintText().toString(), "some label, some hint");
}
@Test