[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] 08/25: Accessibility
From: |
gnunet |
Subject: |
[taler-taler-ios] 08/25: Accessibility |
Date: |
Mon, 06 Nov 2023 20:40:15 +0100 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a commit to branch master
in repository taler-ios.
commit 3559d3680d5df0a1d76302c1b70436619473e457
Author: Marc Stibane <marc@taler.net>
AuthorDate: Sat Nov 4 07:44:59 2023 +0100
Accessibility
---
TalerWallet1/Views/Balances/BalanceRowView.swift | 5 +-
.../Views/Exchange/ExchangeSectionView.swift | 1 -
TalerWallet1/Views/HelperViews/SelectDays.swift | 80 +++++++++++++---------
.../Views/HelperViews/TextFieldAlert.swift | 1 +
TalerWallet1/Views/Peer2peer/PaymentPurpose.swift | 6 +-
TalerWallet1/Views/Peer2peer/SendPurpose.swift | 7 +-
6 files changed, 56 insertions(+), 44 deletions(-)
diff --git a/TalerWallet1/Views/Balances/BalanceRowView.swift
b/TalerWallet1/Views/Balances/BalanceRowView.swift
index f9bdd70..b32d993 100644
--- a/TalerWallet1/Views/Balances/BalanceRowView.swift
+++ b/TalerWallet1/Views/Balances/BalanceRowView.swift
@@ -33,8 +33,9 @@ struct BalanceButton: View {
}
} .disabled(false)
.buttonStyle(TalerButtonStyle(type: iconOnly ? .plain : .balance,
aligned: .trailing))
- .accessibilityElement(children:
/*@START_MENU_TOKEN@*/.ignore/*@END_MENU_TOKEN@*/)
- .accessibilityLabel(balanceTitleStr + " " + amountStr) // TODO:
CurrencyFormatter!
+ .accessibilityElement(children: .combine)
+ .accessibilityHint("will go to main transactions list")
+// .accessibilityLabel(balanceTitleStr + " " + amountStr) //
TODO: CurrencyFormatter!
}
}
diff --git a/TalerWallet1/Views/Exchange/ExchangeSectionView.swift
b/TalerWallet1/Views/Exchange/ExchangeSectionView.swift
index e13ebc1..6e2afab 100644
--- a/TalerWallet1/Views/Exchange/ExchangeSectionView.swift
+++ b/TalerWallet1/Views/Exchange/ExchangeSectionView.swift
@@ -28,7 +28,6 @@ struct ExchangeSectionView: View {
currency: currency, // TODO:
(balance.available) amount.isZero to disable Deposit-button
centsToTransfer: $centsToTransfer)
}
- .accessibilityElement(children: .combine)
} header: {
BarGraphHeader(stack: stack.push(), currency: currency)
}
diff --git a/TalerWallet1/Views/HelperViews/SelectDays.swift
b/TalerWallet1/Views/HelperViews/SelectDays.swift
index 95a7182..9715a7e 100644
--- a/TalerWallet1/Views/HelperViews/SelectDays.swift
+++ b/TalerWallet1/Views/HelperViews/SelectDays.swift
@@ -34,40 +34,54 @@ struct SelectDays: View {
}
var body: some View {
- HStack {
- Button(action: oneDayAction) {
- if developerMode {
- Text(verbatim: "3 Min.")
- } else {
- Text("\(ONEDAY) Day", comment: "1 Day, might get plural
(e.g. 2..3 Days), 4 letters max., abbreviate if longer") // TODO: Plural
- }
- }.buttonStyle(TalerButtonStyle(type: (selected == ONEDAY) ?
.prominent : .bordered, dimmed: true))
- .disabled(!isEnabled)
+ let selectedStr = String(localized: "selected", comment: "VoiceOver
hint which button is selected")
+ let emptyStr = ""
- Button(action: sevenDayAction) {
- if developerMode {
- Text(verbatim: "1 Hour")
- } else {
- Text("\(SEVENDAYS) Days", comment: "7 Days, always plural
(3..9), 4 letters max., abbreviate if longer")
- }
- }.buttonStyle(TalerButtonStyle(type: (selected == SEVENDAYS) ?
.prominent : .bordered, dimmed: true))
- .disabled(!isEnabled || maxExpiration < SEVENDAYS)
+ Section { // (alignment: .leading)
+ Text("Expires in:")
+ .accessibilityLabel("Choose the expiration duration")
+ .accessibilityAddTraits(.isHeader)
+ .accessibilityFont(.title3)
+ HStack {
+ Button(action: oneDayAction) {
+ if developerMode {
+ Text(verbatim: "3 Min.")
+ } else {
+ Text("\(ONEDAY) Day", comment: "1 Day, might get
plural (e.g. 2..3 Days), 4 letters max., abbreviate if longer") // TODO:
Plural
+ }
+ }.buttonStyle(TalerButtonStyle(type: (selected == ONEDAY) ?
.prominent : .bordered, dimmed: true))
+ .accessibilityHint((selected == ONEDAY) ? selectedStr :
emptyStr)
+ .disabled(!isEnabled)
- Button(action: thirtyDayAction) {
- if developerMode {
- Text(verbatim: "1 Day")
- } else {
- Text("\(THIRTYDAYS) Days", comment: "30 Days, always
plural (10..30), 4 letters max., abbreviate if longer")
- }
- }.buttonStyle(TalerButtonStyle(type: (selected == THIRTYDAYS) ?
.prominent : .bordered, dimmed: true))
- .disabled(!isEnabled || maxExpiration < THIRTYDAYS)
- } // 3 buttons
+ Button(action: sevenDayAction) {
+ if developerMode {
+ Text(verbatim: "1 Hour")
+ } else {
+ Text("\(SEVENDAYS) Days", comment: "7 Days, always
plural (3..9), 4 letters max., abbreviate if longer")
+ }
+ }.buttonStyle(TalerButtonStyle(type: (selected == SEVENDAYS) ?
.prominent : .bordered, dimmed: true))
+ .accessibilityHint((selected == SEVENDAYS) ? selectedStr :
emptyStr)
+ .disabled(!isEnabled || maxExpiration < SEVENDAYS)
+
+ Button(action: thirtyDayAction) {
+ if developerMode {
+ Text(verbatim: "1 Day")
+ } else {
+ Text("\(THIRTYDAYS) Days", comment: "30 Days, always
plural (10..30), 4 letters max., abbreviate if longer")
+ }
+ }.buttonStyle(TalerButtonStyle(type: (selected == THIRTYDAYS)
? .prominent : .bordered, dimmed: true))
+ .accessibilityHint((selected == THIRTYDAYS) ? selectedStr
: emptyStr)
+ .disabled(!isEnabled || maxExpiration < THIRTYDAYS)
+ } // 3 buttons
+ }
}
}
-
-//struct SelectDays_Previews: PreviewProvider {
-// static var previews: some View {
-// @State var expireDays: UInt = 1
-// SelectDays(selected: $expireDays, maxExpiration: 20)
-// }
-//}
+// MARK: -
+#if DEBUG
+struct SelectDays_Previews: PreviewProvider {
+ static var previews: some View {
+ @State var expireDays: UInt = 1
+ SelectDays(selected: $expireDays, maxExpiration: 20)
+ }
+}
+#endif
diff --git a/TalerWallet1/Views/HelperViews/TextFieldAlert.swift
b/TalerWallet1/Views/HelperViews/TextFieldAlert.swift
index f665620..d5639a4 100644
--- a/TalerWallet1/Views/HelperViews/TextFieldAlert.swift
+++ b/TalerWallet1/Views/HelperViews/TextFieldAlert.swift
@@ -19,6 +19,7 @@ struct TextFieldAlert: ViewModifier {
VStack {
Text(title)
.accessibilityFont(.headline)
+ .accessibilityAddTraits(.isHeader)
.padding()
TextField(placeholder, text:
$text).textFieldStyle(.roundedBorder).padding()
Divider()
diff --git a/TalerWallet1/Views/Peer2peer/PaymentPurpose.swift
b/TalerWallet1/Views/Peer2peer/PaymentPurpose.swift
index 6cf2739..d8b49bb 100644
--- a/TalerWallet1/Views/Peer2peer/PaymentPurpose.swift
+++ b/TalerWallet1/Views/Peer2peer/PaymentPurpose.swift
@@ -56,15 +56,12 @@ struct PaymentPurpose: View {
Text(verbatim: "\(summary.count)/100")
} // maximum 100 characters
- Text("Expires in:")
- .accessibilityFont(.title3)
-
SelectDays(selected: $expireDays, maxExpiration: THIRTYDAYS)
.disabled(false)
.padding(.bottom)
+ let emptyStr = ""
let disabled = (expireDays == 0) || (summary.count < 1)
-
NavigationLink(destination: LazyView {
SendDone(stack: stack.push(),
amountToSend: nil,
@@ -77,6 +74,7 @@ struct PaymentPurpose: View {
}
.buttonStyle(TalerButtonStyle(type: .prominent))
.disabled(disabled)
+ .accessibilityHint(disabled ? "enabled when subject and
expiration are set" : emptyStr)
Spacer()
}
diff --git a/TalerWallet1/Views/Peer2peer/SendPurpose.swift
b/TalerWallet1/Views/Peer2peer/SendPurpose.swift
index 425cdda..edb3cd9 100644
--- a/TalerWallet1/Views/Peer2peer/SendPurpose.swift
+++ b/TalerWallet1/Views/Peer2peer/SendPurpose.swift
@@ -73,16 +73,13 @@ struct SendPurpose: View {
.accessibilityFont(.body)
} // maximum 100 characters
- Text("Expires in:")
- .accessibilityFont(.title3)
-
// TODO: compute max Expiration day from peerPushCheck to
disable 30 (and even 7)
SelectDays(selected: $expireDays, maxExpiration: THIRTYDAYS)
.disabled(false)
.padding(.bottom)
+ let emptyStr = ""
let disabled = (expireDays == 0) || (summary.count < 1) //
TODO: check amountAvailable
-
NavigationLink(destination: LazyView {
SendDone(stack: stack.push(),
amountToSend: amount,
@@ -94,6 +91,8 @@ struct SendPurpose: View {
}
.buttonStyle(TalerButtonStyle(type: .prominent))
.disabled(disabled)
+ .accessibilityHint(disabled ? "enabled when subject and
expiration are set" : emptyStr)
+
Spacer()
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-taler-ios] 23/25: L10N, EMPTYSTRING, (continued)
- [taler-taler-ios] 23/25: L10N, EMPTYSTRING, gnunet, 2023/11/06
- [taler-taler-ios] 10/25: Use System Alert for iOS16+, gnunet, 2023/11/06
- [taler-taler-ios] 14/25: Blue Logo, gnunet, 2023/11/06
- [taler-taler-ios] 25/25: Bump version to 0.9.3 (24), gnunet, 2023/11/06
- [taler-taler-ios] 15/25: cleanup sortedTransactions, gnunet, 2023/11/06
- [taler-taler-ios] 07/25: IncompleteRowV, gnunet, 2023/11/06
- [taler-taler-ios] 09/25: Logger, gnunet, 2023/11/06
- [taler-taler-ios] 19/25: SendDone: Prevent double execution, gnunet, 2023/11/06
- [taler-taler-ios] 20/25: Debugging, gnunet, 2023/11/06
- [taler-taler-ios] 12/25: KYC - wip, gnunet, 2023/11/06
- [taler-taler-ios] 08/25: Accessibility,
gnunet <=
- [taler-taler-ios] 17/25: ThreeAmountsV cleanup, gnunet, 2023/11/06
- [taler-taler-ios] 11/25: cleanup, gnunet, 2023/11/06
- [taler-taler-ios] 22/25: Announce, gnunet, 2023/11/06