Drop the placeholder from the otp field
allauth sets placeholder="Code" on the field. Grey text sitting inside the otp boxes reads as an already-typed code, so it goes -- the sr-only label outside the box still names the field. Suppressed with placeholder=False rather than by deleting the key: as_widget() merges the widget's own attrs back in at render time, so popping it from a copy does nothing. Django's attribute template omits attrs whose value is False. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -265,6 +265,10 @@ class TwoFactorPageTests(TestCase):
|
||||
self.assertContains(self.response, 'name="code"')
|
||||
self.assertContains(self.response, "otp otp-lg")
|
||||
|
||||
def test_the_otp_field_has_no_placeholder(self):
|
||||
# allauth sets placeholder="Code"; inside the boxes it reads as a typed-in code.
|
||||
self.assertNotContains(self.response, 'placeholder="Code"')
|
||||
|
||||
def test_cancel_sits_beside_sign_in_and_is_not_primary(self):
|
||||
self.assertContains(self.response, '<button class="btn gap-2" type="submit" form="logout-from-stage">')
|
||||
self.assertContains(self.response, '<button class="btn btn-primary gap-2" type="submit">')
|
||||
|
||||
Reference in New Issue
Block a user