Skip to content

Commit a64afb0

Browse files
authored
fix(a11y): add labels when possible (#195)
1 parent 269ed63 commit a64afb0

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/collision/functions/feedback.cr

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,8 @@ module Collision::Feedback
1515
# If result == 1 => add: CLASSES[1], remove: CLASSES[0]
1616
{add: CLASSES[result], remove: CLASSES[result - 1]}
1717
end
18+
19+
def title(success : Bool? = false) : String
20+
success ? Gettext.gettext("They Match") : Gettext.gettext("They Don't Match")
21+
end
1822
end

src/collision/window.cr

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ module Collision
106106
@compareBtn.remove_css_class("success")
107107
@compareBtn.remove_css_class("error")
108108
@compareBtnImage.icon_name = "paper-symbolic"
109+
@compareBtnImage.tooltip_text = ""
109110
end
110111

111112
def handle_input_change(text : String)
@@ -115,6 +116,7 @@ module Collision
115116
@verifyFeedback.visible = false
116117
@verifyTextView.remove_css_class("success")
117118
@verifyTextView.remove_css_class("error")
119+
@verifyTextView.tooltip_text = Gettext.gettext("Insert a MD5/SHA-1/SHA-256/SHA-512/Blake3/CRC32/Adler32 Hash")
118120
return
119121
end
120122

@@ -129,6 +131,7 @@ module Collision
129131
@verifyFeedback.icon_name = Collision::Feedback.icon(result)
130132
@verifyFeedback.add_css_class(classes[:add])
131133
@verifyFeedback.remove_css_class(classes[:remove])
134+
@verifyTextView.tooltip_text = Collision::Feedback.title(result)
132135
end
133136

134137
# We want to only check the file contents
@@ -147,11 +150,13 @@ module Collision
147150
@compareBtn.remove_css_class("error")
148151

149152
@compareBtnLabel.label = file_path.basename.to_s
153+
@compareBtnLabel.tooltip_text = file_path.basename.to_s
150154
Collision.spawn do
151155
compareFileSHA256 = Collision::Checksum.new.calculate(:sha256, file.path.to_s)
152156
result = @hash_results[:sha256] == compareFileSHA256
153157
result = Collision::FileUtils.compare_content(file_path, @hash_results.values) if !result && File.size(file_path) < MAX_COMPARE_READ_SIZE
154158
classes = Collision::Feedback.class(result)
159+
title = Collision::Feedback.title(result)
155160

156161
sleep 500.milliseconds
157162

@@ -161,6 +166,7 @@ module Collision
161166
@compareBtnImage.icon_name = Collision::Feedback.icon(result)
162167
@compareBtn.add_css_class(classes[:add])
163168
@compareBtn.remove_css_class(classes[:remove])
169+
@compareBtnImage.tooltip_text = title
164170

165171
false
166172
end

0 commit comments

Comments
 (0)