Skip to content
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

Add Text: Mitigate defects when extending features. #563

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

lolaodelola
Copy link

@lolaodelola lolaodelola commented Mar 17, 2025

This is the discussed draft text for issue #514.


Preview | Diff

@jyasskin jyasskin changed the title Draft text for issue #514 Say to mitigate defects when extending features Mar 17, 2025
Copy link
Contributor

@jyasskin jyasskin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! I have several stylistic requests here, which is to be expected in your first several PRs.

Please write PR titles (and commit messages) to directly explain what's in the PR, since issue references in titles generally don't get linked to the issue, and reading a summary is easier than following a link. The issue link belongs in the body of the PR. I've updated this one, but feel free to change it again if you don't think it's an accurate summary of the PR.

index.bs Outdated
Comment on lines 325 to 330
As you add new capabilities to the web platform, do so in a way that improves the overall platform, for example its security, privacy or accessibility characteristics.
The existence of a defect in one part of the platform must not be used to excuse an addition or extension to the defect, which would further decrease the overall platform quality. Consistency is not a good reason to propagate problems. Where possible, build new web capabilities that improve the overall platform quality by mitigating existing defects. Do not degrade existing capabilities without good reason.

Do not extend a platform feature that has known defects, without considering how to address those defects. Extensions could create new ways in which the defect could cause problems, such as by encouraging more use of the defective feature. It is not necessary to completely fix all aspects of a defect, it is more important to consider mitigations or fixes when developing such an extension.

Parts of the web platform evolve independently. Issues that are present with a certain web technology now may be fixed in a subsequent iteration. Duplicating these issues makes fixing them more difficult. By adhering to this principle we can make sure overall platform quality improves over time.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document tends to use semantic line breaks. I'm inclined to say that all patches should do that, but even if we decide not to, they should definitely wrap at 80-100 columns.

Also please avoid re-wrapping lines you're not otherwise touching, to make the diff easier to read.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like my IDE hard wrap setting didn't take effect. Thanks for catching this! I'll add the line breaks and push it back up.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that you missed the intent of the comment.

When using semantic breaks, you attempt to keep one concept per line. That means that lines end on periods and semi-colons always, and at the end of obvious clauses. (This is not a good idea with GitHub markdown, which retains line breaks, BTW.)

That means not doing a hard wrap at any particular column (like your 100ch), but choosing where to break deliberately.

index.bs Outdated
Duplicating these issues makes fixing them more difficult.
By adhering to this principle we can make sure overall platform quality improves over time.
As you add new capabilities to the web platform, do so in a way that improves the overall platform, for example its security, privacy or accessibility characteristics.
The existence of a defect in one part of the platform must not be used to excuse an addition or extension to the defect, which would further decrease the overall platform quality. Consistency is not a good reason to propagate problems. Where possible, build new web capabilities that improve the overall platform quality by mitigating existing defects. Do not degrade existing capabilities without good reason.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the only new thing in this paragraph is the sentence about consistency. I think we need to be more nuanced about that, since https://w3ctag.github.io/design-principles/#consistency says consistency is a good reason to propagate certain problems. I'm not sure exactly what to suggest, but I'll keep thinking about it.

index.bs Outdated
As you add new capabilities to the web platform, do so in a way that improves the overall platform, for example its security, privacy or accessibility characteristics.
The existence of a defect in one part of the platform must not be used to excuse an addition or extension to the defect, which would further decrease the overall platform quality. Consistency is not a good reason to propagate problems. Where possible, build new web capabilities that improve the overall platform quality by mitigating existing defects. Do not degrade existing capabilities without good reason.

Do not extend a platform feature that has known defects, without considering how to address those defects. Extensions could create new ways in which the defect could cause problems, such as by encouraging more use of the defective feature. It is not necessary to completely fix all aspects of a defect, it is more important to consider mitigations or fixes when developing such an extension.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably say something stronger than "consider". Maybe use "should" in a more direct sentence about partially fixing the defects, since that allows exceptions when justified?

@lolaodelola
Copy link
Author

@martinthomson I know you had ideas around wording for this in Paris, just wanted to draw your attention to the PR.

index.bs Outdated
Comment on lines 338 to 341
Parts of the web platform evolve independently. Issues that are present with a certain web
technology now may be fixed in a subsequent iteration. Duplicating these issues makes fixing them
more difficult. By adhering to this principle we can make sure overall platform quality improves
over time.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why the "independence" point was added. I read it as weakening the message, rather than strengthening it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I copied & pasted the text from the minutes taken in Paris so don't remember who suggested it specifically. Maybe it'd be helpful to bring to the group on Slack/breakout?

@lolaodelola lolaodelola changed the title Say to mitigate defects when extending features Add Text: Mitigate defects when extending features. Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants