From 69cfa1696a7fbda73b964490988ff1b03f5b46c2 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 4 Jan 2021 00:02:16 -0600 Subject: [PATCH] html: disable browser spellcheck on all non-DText inputs. Disable the browser's native spellchecking ability on all form inputs, except for DText inputs. We do this by setting `spellcheck="false"` on the tag, and `spellcheck="true"` on DText tags. This fixes browsers displaying a red wavy underline beneath tags in the tag search box, among other places. We disable spellchecking globally because most form inputs, except for DText inputs, aren't meant for natural English language. --- app/helpers/application_helper.rb | 1 + app/logical/dtext_input.rb | 2 +- app/views/posts/partials/show/_edit.html.erb | 2 +- app/views/uploads/new.html.erb | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 57f4819c0..f0c161641 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -273,6 +273,7 @@ module ApplicationHelper { lang: "en", class: "c-#{controller_param} a-#{action_param}", + spellcheck: "false", data: { controller: controller_param, action: action_param, diff --git a/app/logical/dtext_input.rb b/app/logical/dtext_input.rb index a1910e933..77e55621a 100644 --- a/app/logical/dtext_input.rb +++ b/app/logical/dtext_input.rb @@ -16,7 +16,7 @@ class DtextInput < SimpleForm::Inputs::Base t = template merged_input_options = merge_wrapper_options(input_html_options, wrapper_options) - t.tag.div(class: "dtext-previewable") do + t.tag.div(class: "dtext-previewable", spellcheck: true) do if options[:inline] t.concat @builder.text_field(attribute_name, merged_input_options) else diff --git a/app/views/posts/partials/show/_edit.html.erb b/app/views/posts/partials/show/_edit.html.erb index 1c47dbc96..f7ee181b2 100644 --- a/app/views/posts/partials/show/_edit.html.erb +++ b/app/views/posts/partials/show/_edit.html.erb @@ -54,7 +54,7 @@
- <%= f.input :tag_string, label: false, input_html: { size: "60x5", spellcheck: false, "data-autocomplete": "tag-edit", "data-shortcut": "e", value: post.presenter.split_tag_list_text + " " } %> + <%= f.input :tag_string, label: false, input_html: { size: "60x5", "data-autocomplete": "tag-edit", "data-shortcut": "e", value: post.presenter.split_tag_list_text + " " } %>
<%= render "related_tags/buttons" %> diff --git a/app/views/uploads/new.html.erb b/app/views/uploads/new.html.erb index 51552cedb..a41132c1e 100644 --- a/app/views/uploads/new.html.erb +++ b/app/views/uploads/new.html.erb @@ -69,7 +69,7 @@ - <%= f.input :tag_string, label: false, input_html: { size: "60x5", "data-autocomplete": "tag-edit", "data-shortcut": "e", spellcheck: false, value: params[:tag_string] } %> + <%= f.input :tag_string, label: false, input_html: { size: "60x5", "data-autocomplete": "tag-edit", "data-shortcut": "e", value: params[:tag_string] } %> <%= render "related_tags/buttons" %>