TF-3678 Support accessibility for Set as default identity checkbox

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-04-24 14:06:28 +07:00
committed by Dat H. Pham
parent 3365a43bfc
commit 5f0476a105
2 changed files with 37 additions and 5 deletions
@@ -0,0 +1,25 @@
import 'package:flutter/material.dart';
class CheckboxSemantics extends StatelessWidget {
final Widget child;
final String label;
final bool value;
const CheckboxSemantics({
super.key,
required this.child,
required this.label,
required this.value,
});
@override
Widget build(BuildContext context) {
return Semantics(
label: label,
container: true,
checked: true,
value: '$value',
child: child,
);
}
}
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/views/semantics/checkbox_semantics.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -23,10 +24,14 @@ class SetDefaultIdentityCheckboxBuilder extends StatelessWidget {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Material(
child: InkWell(
onTap: onCheckboxChanged,
child: Container(
CheckboxSemantics(
label: 'Set default identity checkbox',
value: isCheck,
child: Material(
type: MaterialType.transparency,
child: InkWell(
onTap: onCheckboxChanged,
child: Container(
width: 20,
height: 20,
decoration: BoxDecoration(
@@ -39,7 +44,9 @@ class SetDefaultIdentityCheckboxBuilder extends StatelessWidget {
colorFilter: const ColorFilter.mode(Colors.white, BlendMode.srcIn),
width: 18,
height: 18,
)),
),
),
),
),
),
const SizedBox(width: 8),