-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes 2814, 2815 #2816
base: master
Are you sure you want to change the base?
Fixes 2814, 2815 #2816
Conversation
Just updated this PR as it was still stripping the Note for testers - You'll need to update the
|
Just discovered that the any links to Glossary objects also weren't working. The latest commit fixes this too. |
@@ -83,7 +83,10 @@ function Configuration() { | |||
maxLoginAttempts: 3, | |||
ckEditorHtmlSupport: { | |||
allow: [{ | |||
name: "^(blockquote|ul|ol|span)$" | |||
name: "^(a|blockquote|ul|ol|span)$", | |||
"attributes": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't this allow onclick
attributes on all of the aforementioned tags? Which means that one AAT user could add JavaScript that another user could execute?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was added to allow aria-hidden, if we think the above is a risk then we can add specific attributes. I believe like this:
attributes: { foo: 'true', bar: true }
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It definitely is a risk if it allows all attributes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@simondate , so allow, aria-hidden, aria-label?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would want data-glossaryterm
included as it's the way you open glossary items within elements on the page.
If onclick
is the only thing we're concerned about could we just disable that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't go with disabling things. Something new is always added that makes denies redundant. Permissive allows are generally a better idea (as per the French vs British legal system).
How about we don't set the default config to allow/deny extra things that are specific to a vendor, but we instead just add allowEmpty
and RemoveFormat
to support the given use-case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allowEmpty
would fix the original issue, but I feel the glossary extension should be supported, considering it's a Core extension
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work?
{
"name": ".*",
"attributes": "^(id|role|aria-.+|data-.+)$",
"classes": true,
"styles": true
},
In theory that should allow all aria-
and data-
prefixed attributes as well as role
and id
.
Fixes -
Two issues with CKEditor.