diff --git a/app/lib/redcarpet/trusted_renderer.rb b/app/lib/redcarpet/trusted_renderer.rb
index 850841135..db605c5b1 100644
--- a/app/lib/redcarpet/trusted_renderer.rb
+++ b/app/lib/redcarpet/trusted_renderer.rb
@@ -34,8 +34,26 @@ module Redcarpet
end
end
- def image(link, title, alt)
- view_context.image_tag(link, title:, alt:, loading: :lazy)
+ def image(link, title, alt_text)
+ # Extrait les attributs personnalisés s'ils existent sous la forme { aria-hidden=true } dans les []
+ custom_attributes = {}
+ if alt_text =~ /\s*\{(.+)\}$/
+ attr_string = Regexp.last_match(1)
+ alt_text = alt_text.sub(/\s*\{.+\}$/, '').strip
+ attr_string.split(' ').each do |attr|
+ key, value = attr.split('=')
+ custom_attributes[key.strip] = value.strip.delete('"')
+ end
+ end
+
+ # Combine les attributs standard et personnalisés
+ image_options = {
+ alt: alt_text,
+ title:,
+ loading: :lazy
+ }.merge(custom_attributes)
+
+ view_context.image_tag(link, image_options)
end
# rubocop:disable Rails/OutputSafety
diff --git a/doc/faqs/instructeur/comment-filtrer-la-liste-des-dossiers.fr.md b/doc/faqs/instructeur/comment-filtrer-la-liste-des-dossiers.fr.md
index 40804127c..71074d42b 100644
--- a/doc/faqs/instructeur/comment-filtrer-la-liste-des-dossiers.fr.md
+++ b/doc/faqs/instructeur/comment-filtrer-la-liste-des-dossiers.fr.md
@@ -21,7 +21,7 @@ Pour appliquer un filtre à une liste de dossiers :
4. Sélectionnez ensuite la valeur à filtrer.
5. Cliquez enfin sur **« Ajouter le filtre »**.
-
+

diff --git a/spec/lib/redcarpet/trusted_renderer_spec.rb b/spec/lib/redcarpet/trusted_renderer_spec.rb
index b0be7a94a..f3086f9a9 100644
--- a/spec/lib/redcarpet/trusted_renderer_spec.rb
+++ b/spec/lib/redcarpet/trusted_renderer_spec.rb
@@ -19,6 +19,11 @@ RSpec.describe Redcarpet::TrustedRenderer do
markdown = ""
expect(renderer.render(markdown)).to include('
')
end
+
+ it 'renders additional attribute' do
+ markdown = ""
+ expect(renderer.render(markdown)).to include('
')
+ end
end
context 'when autolinking' do