Skip to content

Commit

Permalink
Add some discussion on adding removing features (#469)
Browse files Browse the repository at this point in the history
* Add some discussion on adding removing features

* @torgo likes this, so I'm merging it

* Cite HTML

* Stability is important.

Co-authored-by: Lea Verou <[email protected]>

* Update index.bs

Co-authored-by: Martin Thomson <[email protected]>

* You can change stuff, see next

* Update index.bs

* spacing

* CARE

* Positive and affirmative

Co-authored-by: Daniel Appelquist <[email protected]>

* Update index.bs

Co-authored-by: Lea Verou <[email protected]>

* Update index.bs

Co-authored-by: Sangwhan "fish" Moon <[email protected]>

* Redundant

* Update index.bs

Co-authored-by: Martin Thomson <[email protected]>

* Update index.bs

Co-authored-by: Martin Thomson <[email protected]>

---------

Co-authored-by: Lea Verou <[email protected]>
Co-authored-by: Daniel Appelquist <[email protected]>
Co-authored-by: Sangwhan "fish" Moon <[email protected]>
  • Loading branch information
4 people authored Jan 24, 2024
1 parent 918cef0 commit c8a5914
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,40 @@ In these cases, features should be designed such that it is possible for
code to gracefully fail or be polyfilled.
See [[#feature-detect]].

<h3 id=new-features>Add new capabilities with care</h3>

Add new capabilities to the web with consideration of existing functionality and content.

The Web includes many extension points that allow for additions;
see for example [[HTML#extensibility]].

Before adding items, consider integration with existing, similar capabilities.
If this leads to a preferred design approach that cannot be implemented by only adding items,
it might still be possible; see [[#removing-features]].

Do not assume that a change or removal is impossible without first checking.
Before adding items, consider integration with existing, similar capabilities.
If this leads to a preferred design approach that cannot be implemented by only adding items,
it might still be possible; see [[#removing-features]].
Do not assume that a change or removal is impossible without first checking.

<h3 id=removing-features>Remove or change capabilities only once you understand existing usage</h3>

Prioritize compatibility with existing content when removing or changing functionality.

Once a significant amount of content has come to depend on a particular behavior,
removing or changing that behavior is discouraged.
Removing or changing features and capabilities is possible,
but it first requires that the nature and scope of the impact on existing content
is well understood.
This might require research into how features are used by existing content.

The obligation to understand existing usage also applies to any features that content relies upon.
This includes vendor-proprietary features and
behavior that might be considered implementation bugs.
Web features are not solely defined in specifications;
they are also defined by how content uses those features.

<h3 id="leave-the-web-better">Leave the web better than you found it</h3>

As you add new capabilities to the web platform, do so in a way that improves
Expand Down

0 comments on commit c8a5914

Please sign in to comment.