open-telemetry / opentelemetry.io

The OpenTelemetry website and documentation
https://opentelemetry.io
Creative Commons Attribution 4.0 International
563 stars 1.21k forks source link

Provide a better visualization for collapsing long blocks of code/output #5405

Open svrnm opened 1 month ago

svrnm commented 1 month ago

We are currently using <details> and <summary> to wrap long code blocks or text outputs. An example can be seen here:

Code: https://github.com/open-telemetry/opentelemetry.io/blob/main/content/en/docs/languages/js/getting-started/nodejs.md?plain=1#L254 Output: https://opentelemetry.io/docs/languages/js/getting-started/nodejs/#run-the-instrumented-app

Screenshot:

Screenshot 2024-10-15 at 12 21 45

This is really hard to see and easily overseen when someone scrolls through the page, especially when they are looking for the expected output or a code snippet.

It would be great to have a better visualization, e.g. the first few lines are shown but the rest is hidden away with an "unfold" button. There are plenty of options, but it would be good to have something that makes it visually clear that there is something behind that "tiny arrow"

Special Note for Outreachy Contributors: if you want to work on this issue, please make sure that you have completed the small steps and at least one assigned issue as outlined here: https://github.com/open-telemetry/opentelemetry.io/issues/5290

kemsguy7 commented 1 month ago

@svrnm , can you please assign this to me?

svrnm commented 1 month ago

@svrnm , can you please assign this to me?

Let's finish https://github.com/open-telemetry/opentelemetry.io/pull/5403 first, then you can work on this one

kemsguy7 commented 1 month ago

@svrnm , can you please assign this to me?

Let's finish #5403 first, then you can work on this one

Please can i work on this now?

svrnm commented 1 month ago

@svrnm , can you please assign this to me?

Let's finish #5403 first, then you can work on this one

Please can i work on this now?

Yes! I suggest you start by making some suggestions how you would implement that or what ideas you have to address the issue

kemsguy7 commented 1 month ago

@svrnm , here are my suggestions for improvement

1Preview with Gradient Fade:

2. Visual Indicators:

3.Interactive Elements:

4.Accessibility Improvements: Clear focus states Keyboard navigation support with javascript Screen reader friendly labels Proper ARIA attributes

Kindly let me know if I can proceed with my Implementation, thanks

svrnm commented 1 month ago

@kemsguy7 this sounds good to me. Please start with focusing on 1 Preview with Gradient Fade in a pull request, if we get this working, we can address the other few additional improvements.

kemsguy7 commented 1 month ago

@kemsguy7 this sounds good to me. Please start with focusing on 1 Preview with Gradient Fade in a pull request, if we get this working, we can address the other few additional improvements.

Alright mentor, will will send a PR soon

chalin commented 3 weeks ago

@svrnm As I mentioned in #5463, I'd prefer a simpler solution. We can probably, for now, make due with CSS styling over <details> elements. For example, I've styled the first of the two elements shown in this screenshot (of course, this is a POC, color and border can be tweaked):

image

/cc @jack-berg

svrnm commented 2 weeks ago

@chalin let's talk about this at the next SIG meeting (Monday next week)