diff --git a/assets/css/app.scss b/assets/css/app.scss
index 0e9a75c..df3c49f 100644
--- a/assets/css/app.scss
+++ b/assets/css/app.scss
@@ -36,7 +36,7 @@ $fa-font-path: "@fortawesome/fontawesome-free/webfonts";
}
.invalid-feedback {
- color: #a94442;
+ color: #f36c69;
display: block;
margin: -1rem 0 2rem;
}
diff --git a/assets/css/components.scss b/assets/css/components.scss
index 35eb32b..292b6f7 100644
--- a/assets/css/components.scss
+++ b/assets/css/components.scss
@@ -45,8 +45,8 @@
}
.btn-alert {
- @apply bg-red-700 active:bg-red-900;
- @apply border-red-700 active:border-red-900;
+ @apply bg-red-800 active:bg-red-900;
+ @apply border-red-800 active:border-red-900;
@apply text-primary-300;
}
diff --git a/lib/memex_web/components/contexts_table_component.ex b/lib/memex_web/components/contexts_table_component.ex
index 5d35a19..48b69ef 100644
--- a/lib/memex_web/components/contexts_table_component.ex
+++ b/lib/memex_web/components/contexts_table_component.ex
@@ -40,7 +40,7 @@ defmodule MemexWeb.Components.ContextsTableComponent do
if actions == [] or current_user |> is_nil() do
[]
else
- [%{label: nil, key: :actions, sortable: false}]
+ [%{label: gettext("actions"), key: :actions, sortable: false}]
end
columns = [
diff --git a/lib/memex_web/components/core_components/modal.html.heex b/lib/memex_web/components/core_components/modal.html.heex
index 13376d0..428bf70 100644
--- a/lib/memex_web/components/core_components/modal.html.heex
+++ b/lib/memex_web/components/core_components/modal.html.heex
@@ -6,6 +6,7 @@
p-8 flex flex-col justify-center items-center cursor-auto"
style="background-color: rgba(0,0,0,0.4);"
phx-remove={hide_modal()}
+ aria-label={gettext("close modal")}
>
@@ -30,6 +31,7 @@
text-gray-500 hover:text-gray-800
transition-all duration-500 ease-in-out"
phx-remove={hide_modal()}
+ aria-label={gettext("close modal")}
>
diff --git a/lib/memex_web/components/core_components/topbar.html.heex b/lib/memex_web/components/core_components/topbar.html.heex
index 970e607..26b7873 100644
--- a/lib/memex_web/components/core_components/topbar.html.heex
+++ b/lib/memex_web/components/core_components/topbar.html.heex
@@ -72,6 +72,7 @@
href={Routes.user_session_path(Endpoint, :delete)}
method="delete"
data-confirm={dgettext("prompts", "are you sure you want to log out?")}
+ aria-label={gettext("log out")}
>
@@ -85,6 +86,7 @@
<.link
navigate={Routes.live_dashboard_path(Endpoint, :home)}
class="text-primary-400 hover:underline"
+ aria-label={gettext("live dashboard")}
>
diff --git a/lib/memex_web/components/notes_table_component.ex b/lib/memex_web/components/notes_table_component.ex
index 10dd258..ba1689a 100644
--- a/lib/memex_web/components/notes_table_component.ex
+++ b/lib/memex_web/components/notes_table_component.ex
@@ -40,7 +40,7 @@ defmodule MemexWeb.Components.NotesTableComponent do
if actions == [] or current_user |> is_nil() do
[]
else
- [%{label: nil, key: :actions, sortable: false}]
+ [%{label: gettext("actions"), key: :actions, sortable: false}]
end
columns = [
diff --git a/lib/memex_web/components/pipelines_table_component.ex b/lib/memex_web/components/pipelines_table_component.ex
index 2d2eb68..123d441 100644
--- a/lib/memex_web/components/pipelines_table_component.ex
+++ b/lib/memex_web/components/pipelines_table_component.ex
@@ -40,7 +40,7 @@ defmodule MemexWeb.Components.PipelinesTableComponent do
if actions == [] or current_user |> is_nil() do
[]
else
- [%{label: nil, key: :actions, sortable: false}]
+ [%{label: gettext("actions"), key: :actions, sortable: false}]
end
columns = [
diff --git a/lib/memex_web/live/context_live/form_component.html.heex b/lib/memex_web/live/context_live/form_component.html.heex
index c5073d1..1cca0aa 100644
--- a/lib/memex_web/live/context_live/form_component.html.heex
+++ b/lib/memex_web/live/context_live/form_component.html.heex
@@ -11,7 +11,8 @@
>
<%= text_input(f, :slug,
class: "input input-primary",
- placeholder: gettext("slug")
+ placeholder: gettext("slug"),
+ aria_label: gettext("slug")
) %>
<%= error_tag(f, :slug) %>
@@ -20,21 +21,24 @@
class: "input input-primary h-64 min-h-64",
phx_hook: "MaintainAttrs",
phx_update: "ignore",
- placeholder: gettext("use [[note-slug]] to link to a note")
+ placeholder: gettext("use [[note-slug]] to link to a note"),
+ aria_label: gettext("use [[note-slug]] to link to a note")
) %>
<%= error_tag(f, :content) %>
<%= text_input(f, :tags_string,
id: "tags-input",
class: "input input-primary",
- placeholder: gettext("tag1,tag2")
+ placeholder: gettext("tag1,tag2"),
+ aria_label: gettext("tag1,tag2")
) %>
<%= error_tag(f, :tags_string) %>
<%= select(f, :visibility, Ecto.Enum.values(Memex.Contexts.Context, :visibility),
class: "grow input input-primary",
- prompt: gettext("select privacy")
+ prompt: gettext("select privacy"),
+ aria_label: gettext("select privacy")
) %>
<%= submit(dgettext("actions", "save"),
diff --git a/lib/memex_web/live/context_live/index.html.heex b/lib/memex_web/live/context_live/index.html.heex
index 73a4ad8..d68092e 100644
--- a/lib/memex_web/live/context_live/index.html.heex
+++ b/lib/memex_web/live/context_live/index.html.heex
@@ -14,6 +14,7 @@
<%= text_input(f, :search_term,
class: "input input-primary",
value: @search,
+ role: "search",
phx_debounce: 300,
placeholder: gettext("search")
) %>
diff --git a/lib/memex_web/live/note_live/form_component.html.heex b/lib/memex_web/live/note_live/form_component.html.heex
index 9928eea..494116c 100644
--- a/lib/memex_web/live/note_live/form_component.html.heex
+++ b/lib/memex_web/live/note_live/form_component.html.heex
@@ -11,7 +11,8 @@
>
<%= text_input(f, :slug,
class: "input input-primary",
- placeholder: gettext("slug")
+ placeholder: gettext("slug"),
+ aria_label: gettext("slug")
) %>
<%= error_tag(f, :slug) %>
@@ -20,21 +21,24 @@
class: "input input-primary h-64 min-h-64",
phx_hook: "MaintainAttrs",
phx_update: "ignore",
- placeholder: gettext("content")
+ placeholder: gettext("content"),
+ aria_label: gettext("content")
) %>
<%= error_tag(f, :content) %>
<%= text_input(f, :tags_string,
id: "tags-input",
class: "input input-primary",
- placeholder: gettext("tag1,tag2")
+ placeholder: gettext("tag1,tag2"),
+ aria_label: gettext("tag1,tag2")
) %>
<%= error_tag(f, :tags_string) %>
<%= select(f, :visibility, Ecto.Enum.values(Memex.Notes.Note, :visibility),
class: "grow input input-primary",
- prompt: gettext("select privacy")
+ prompt: gettext("select privacy"),
+ aria_label: gettext("select privacy")
) %>
<%= submit(dgettext("actions", "save"),
diff --git a/lib/memex_web/live/note_live/index.html.heex b/lib/memex_web/live/note_live/index.html.heex
index 1e96a28..ccdc35f 100644
--- a/lib/memex_web/live/note_live/index.html.heex
+++ b/lib/memex_web/live/note_live/index.html.heex
@@ -14,6 +14,7 @@
<%= text_input(f, :search_term,
class: "input input-primary",
value: @search,
+ role: "search",
phx_debounce: 300,
placeholder: gettext("search")
) %>
diff --git a/lib/memex_web/live/pipeline_live/form_component.html.heex b/lib/memex_web/live/pipeline_live/form_component.html.heex
index 8a39f8d..571b695 100644
--- a/lib/memex_web/live/pipeline_live/form_component.html.heex
+++ b/lib/memex_web/live/pipeline_live/form_component.html.heex
@@ -11,7 +11,8 @@
>
<%= text_input(f, :slug,
class: "input input-primary",
- placeholder: gettext("slug")
+ placeholder: gettext("slug"),
+ aria_label: gettext("slug")
) %>
<%= error_tag(f, :slug) %>
@@ -20,21 +21,24 @@
class: "input input-primary h-64 min-h-64",
phx_hook: "MaintainAttrs",
phx_update: "ignore",
- placeholder: gettext("description")
+ placeholder: gettext("description"),
+ aria_label: gettext("description")
) %>
<%= error_tag(f, :description) %>
<%= text_input(f, :tags_string,
id: "tags-input",
class: "input input-primary",
- placeholder: gettext("tag1,tag2")
+ placeholder: gettext("tag1,tag2"),
+ aria_label: gettext("tag1,tag2")
) %>
<%= error_tag(f, :tags_string) %>
<%= select(f, :visibility, Ecto.Enum.values(Memex.Pipelines.Pipeline, :visibility),
class: "grow input input-primary",
- prompt: gettext("select privacy")
+ prompt: gettext("select privacy"),
+ aria_label: gettext("select privacy")
) %>
<%= submit(dgettext("actions", "save"),
diff --git a/lib/memex_web/live/pipeline_live/index.html.heex b/lib/memex_web/live/pipeline_live/index.html.heex
index 7f4217b..dd1c1e4 100644
--- a/lib/memex_web/live/pipeline_live/index.html.heex
+++ b/lib/memex_web/live/pipeline_live/index.html.heex
@@ -14,6 +14,7 @@
<%= text_input(f, :search_term,
class: "input input-primary",
value: @search,
+ role: "search",
phx_debounce: 300,
placeholder: gettext("search")
) %>
diff --git a/lib/memex_web/live/step_live/form_component.html.heex b/lib/memex_web/live/step_live/form_component.html.heex
index 19623df..f9848e0 100644
--- a/lib/memex_web/live/step_live/form_component.html.heex
+++ b/lib/memex_web/live/step_live/form_component.html.heex
@@ -11,7 +11,8 @@
>
<%= text_input(f, :title,
class: "input input-primary",
- placeholder: gettext("title")
+ placeholder: gettext("title"),
+ aria_label: gettext("title")
) %>
<%= error_tag(f, :title) %>
@@ -20,7 +21,8 @@
class: "input input-primary h-64 min-h-64",
phx_hook: "MaintainAttrs",
phx_update: "ignore",
- placeholder: gettext("use [[context-slug]] to link to a context")
+ placeholder: gettext("use [[context-slug]] to link to a context"),
+ aria_label: gettext("use [[context-slug]] to link to a context")
) %>
<%= error_tag(f, :content) %>
diff --git a/lib/memex_web/templates/user_settings/edit.html.heex b/lib/memex_web/templates/user_settings/edit.html.heex
index 59183b2..7fdcb21 100644
--- a/lib/memex_web/templates/user_settings/edit.html.heex
+++ b/lib/memex_web/templates/user_settings/edit.html.heex
@@ -107,9 +107,9 @@
action={Routes.user_settings_path(@conn, :update)}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
-
- <%= dgettext("actions", "change language") %>
-
+ <%= label(f, :locale, dgettext("actions", "change language"),
+ class: "title text-primary-400 text-lg text-center col-span-3"
+ ) %>