#css menu hover
Explore tagged Tumblr posts
Text
CSS Menu Hover Animation
#css menu hover effects#css menu hover animation#css menu hover#html css#frontend#css#html#frontenddevelopment#webdesign#css3#html css menu#css menu#css animation tutorial#css animation examples
9 notes
·
View notes
Text
Animated menu hover
#animated menu hover#css menu hover#html css#html5 css3#codenewbies#frontenddevelopment#webdesign#css animation examples#css animation tutorial#pure css animation#css#html css animation#css menu#html css menu
3 notes
·
View notes
Text
CSS Menu Hover Effects
#css menu hover effects#css menu hover#css animation tutorial#html css#frontenddevelopment#code#css#html#css3#divinectorweb#learn to code#css animation examples#navigation menu#webdesign#divinector
0 notes
Text
Clarifying the Relationship Between Popovers and Dialogs
New Post has been published on https://thedigitalinsider.com/clarifying-the-relationship-between-popovers-and-dialogs/
Clarifying the Relationship Between Popovers and Dialogs
The difference between Popovers (i.e., the popover attribute) and Dialogs (i.e., both the <dialog> element and the dialog accessible role) is incredibly confusing — so much that many articles (like this, this, and this) have tried to shed some light on the issue.
If you’re still feeling confused, I hope this one clears up that confusion once and for all.
Distinguishing Popovers From Dialogs
Let’s pull back on the technical implementations and consider the greater picture that makes more sense and puts everything into perspective.
The reason for this categorization comes from a couple of noteworthy points.
First, we know that a popover is content that “pops” up when a user clicks a button (or hovers over it, or focuses on it). In the ARIA world, there is a useful attribute called aria-haspopup that categorizes such popups into five different roles:
menu
listbox
tree
grid
dialog
Strictly speaking, there’s a sixth value, true, that evaluates to menu. I didn’t include it above since it’s effectively just menu.
By virtue of dialog being on this list, we already know that dialog is a type of popover. But there’s more evidence behind this too.
The Three Types of Dialogues
Since we’re already talking about the dialog role, let’s further expand that into its subcategories:
Dialogs can be categorized into three main kinds:
Modal: A dialog with an overlay and focus trapping
Non-Modal: A dialog with neither an overlay nor focus trapping
Alert Dialog: A dialog that alerts screen readers when shown. It can be either modal or non-modal.
This brings us to another reason why a dialog is considered a popover.
Some people may say that popovers are strictly non-modal, but this seems to be a major misunderstanding — because popovers have a ::backdrop pseudo-element on the top layer. The presence of ::backdrop indicates that popovers are modal. Quoting the CSS-Tricks almanac:
The ::backdrop CSS pseudo-element creates a backdrop that covers the entire viewport and is rendered immediately below a <dialog>, an element with the popup attribute, or any element that enters fullscreen mode using the Fullscreen API.
That said, I don’t recommend using the Popover API for modality because it doesn’t have a showModal() method (that <dialog> has) that creates inertness, focus trapping, and other necessary features to make it a real modal. If you only use the Popover API, you’ll need to build those features from scratch.
So, the fact that popovers can be modal means that a dialog is simply one kind of popover.
A Popover Needs an Accessible Role
Popovers need a role to be accessible. Hidde has a great article on selecting the right role, but I’m going to provide some points in this article as well.
To start, you can use one of the aria-haspopup roles mentioned above:
menu
listbox
tree
grid
dialog
You could also use one of the more complex roles like:
treegrid
alertdialog
There are two additional roles that are slightly more contentious but may do just fine.
tooltip
status
To understand why tooltip and status could be valid popover roles, we need to take a detour into the world of tooltips.
A Note on Tooltips
From a visual perspective, a tooltip is a popover because it contains a tiny window that pops up when the tooltip is displayed.
I included tooltip in the mental model because it is reasonable to implement tooltip with the Popover API.
<div popver role="tooltip">...</div>
The tooltip role doesn’t do much in screen readers today so you need to use aria-describedby to create accessible tooltips. But it is still important because it may extend accessibility support for some software.
But, from an accessibility standpoint, tooltips are not popovers. In the accessibility world, tooltips must not contain interactive content. If they contain interactive content, you’re not looking at a tooltip, but a dialog.
You’re thinking of dialogs. Use a dialog.
Heydon Pickering, “Your Tooltips are Bogus”
This is also why aria-haspopup doesn’t include tooltip —aria-haspopup is supposed to signify interactive content but a tooltip must not contain interactive content.
With that, let’s move on to status which is an interesting role that requires some explanation.
Why status?
Tooltips have a pretty complex history in the world of accessible interfaces so there’s a lot of discussion and contention over it.
To keep things short (again), there’s an accessibility issue with tooltips since tooltips should only show on hover. This means screen readers and mobile phone users won’t be able to see those tooltips (since they can’t hover on the interface).
Steve Faulkner created an alternative — toggletips — to fill the gap. In doing so, he explained that toggletip content must be announced by screen readers through live regions.
When initially displayed content is announced by (most) screen readers that support aria-live
Heydon Pickering later added that status can be used in his article on toggletips.
We can supply an empty live region, and populate it with the toggletip “bubble” when it is invoked. This will both make the bubble appear visually and cause the live region to announce the tooltip’s information.
<!-- Code example by Heydon --> <span class="tooltip-container"> <button type="button" aria-label="more info" data-toggletip-content="This clarifies whatever needs clarifying">i</button> <span role="status"> <span class="toggletip-bubble">This clarifies whatever needs clarifying</span> </span> </span>
This is why status can be a potential role for a popover, but you must use discretion when creating it.
That said, I’ve chosen not to include the status role in the Popover mental model because status is a live region role and hence different from the rest.
In Summary
Here’s a quick summary of the mental model:
Popover is an umbrella term for any kind of on-demand popup.
Dialog is one type of popover — a kind that creates a new window (or card) to contain some content.
When you internalize this, it’s not hard to see why the Popover API can be used with the dialog element.
<!-- Uses the popover API. Role needs to be determined manually --> <div popover>...</div> <!-- Dialog with the popover API. Role is dialog --> <dialog popover>...</dialog> <!-- Dialog that doesn't use the popover API. Role is dialog --> <dialog>...</dialog>
When choosing a role for your popover, you can use one of these roles safely.
menu
listbox
tree
grid
treegrid
dialog
alertdialog
The added benefit is most of these roles work together with aria-haspopup which gained decent support in screen readers last year.
Of course, there are a couple more you can use like status and tooltip, but you won’t be able to use them together with aria-haspopup.
Further Reading
#Accessibility#alerts#API#aria#Article#Articles#code#container#content#course#CSS#css-tricks#data#dialog#Difference Between#Explained#explanation#Features#focus#gap#grid#History#hover#it#Light#list#menu#Method#Mobile#mobile phone
0 notes
Text
Labyrinth Skin ($65, Unlimited) by Shani Codes
LABYRINTH is a responsive skin for JCINK forums and is optimized for Google Chrome. If you have questions about the skin, or seeing a full preview, feel free to join my support discord: discord[DOT]gg/G9zb4sQxdp
SKIN INCLUDES:
Two pop-ups for Navigation menu and for User Links,
A color mode toggle with three themes: light, medium, and dark modes
Full responsiveness for various screen resolutions, supporting both mobile and smaller screens,
Easy to edit member group variables,
CSS variables for fonts, colors, images, sizes, etc. for easy customization,
Post row with a sticky, hover mini profile,
A tabbed, pop-out main profile ft. attribute sliders, aesthetic images, sections for freestyle and shipper, and automatic thread tracker,
A filterable, searchable, and sortable isotope member list with counts,
And an included installation guide PDF with comprehensive instructions.
NOTES:
A low-contrast, bright background image is recommended to match all three color modes.
Accents can easily be switched from gradients to solid colors.
PURCHASE LINK: ko-fi[DOT]com/s/b164fd2264
#jcink skin#jcink skins#jcink skins for sale#jcink codes#jcink code#really excited about this one! it's my most customizable skin yet!!!#for sale
96 notes
·
View notes
Note
hi so i was playing around with my codes and the link color does not work ? the hover , active , and visited does but the actual link itself will not change the color or text decoration. also wayfarer works pretty well on mobile nested nicely on screen. what code did you use because the code i am using makes it all squished thanks !
The CSS for the hover is separate from the CSS for the link.
Here's the CSS from the default Sugarcube UI. The element a (anchor, which creates links) controls your link styling. a:hover controls the styling for when the cursor hovers over it. a[disabled] controls a disabled/visited link. You can see how they have different colours and text decorations.
a { cursor: pointer; color: #68d; text-decoration: none; transition-duration: 200ms; } a:hover { color: #8af; text-decoration: underline; }
a[disabled], span.link-disabled { color: #aaa; cursor: not-allowed !important; text-decoration: none; }
Making your game responsive isn't a one-size fits all scenario. It depends on the dimensions of your UI and a number of other unique factors. You can use media queries to change what your game looks like on different viewport sizes.
If you open your game in a browser, right click and hit Inspect, you can test what it looks like with different resolutions. Switch it to mobile mode and there will be a dropdown menu with the dimensions for different common phones and tablets.
You can switch through them to see how your media queries are working with each size; usually you will have to fiddle with things to get it to fit right.
9 notes
·
View notes
Text
MyArtGallery 20230623 BIG UPDATE!
Hi everyone! I made a cool big update to MyAG - a free, fast-rollout gallery package for your personal neocities.org website. It is aimed at artists who value and curate their online presence and want their art to exist for more than while it's on someone's dashboard. MyAG is my contribution to the decorporativisation of the online space. And today, i made it a whole ton more usable, too - managing your online art gallery is almost as easy as tumblr now!
Meet the brand-new editor page! Before this, it used to be a neverending stream of html forms with crap layout.. now, it's almost state-of-the art web app shit! Essentially, it takes the form of what you see when you access your actual art gallery as a visitor, but with simplified design and neutral colours, and managing tools. To edit your artworks or groups - simply click on them and select "edit" in the popup menu! A nice lil' window appears, and you can change everything about your artwork or group in it. Adding new stuff is as easy as pressing "Add new..." and filling out a couple fields, too!
But wait.. there's more! Not only can you now delete your stuff easily (yeah, there were troubles with that) - but also, i implemented moving stuff around in a turbo-simple way! Click "move" and hover over any of the insert markers that pop up, click - and the artwork (or the group button) is moved to the desired location.
Pretty cool, huh? Sure is, and also sure as hell feels nice to have over 1K lines of code working neatly together for the sake of art without companies! I hope someone goes ahead and cooperates with me by running this at their neocities page and reporting any issues that emerge. Want to see it live? Here's a fresh stock deployment left untouched. And my own kandi museum runs on MyAG, too!
Grab MyAG and read the manual/tutorial at project's github page! Use this shit dammit!
If you want to contact me, DM here or use one of these!
Smaller updates:
Added a settings file checker. Since some keys will be coming and some will be going, the settingsChecker.html tool-page will check your current settings.js file for missing and deprecated setting keys, and point you to a quick-fix example!
Since i finally sorted out the XML entry order, some users may end up with their gallery groups or artworks displaying backwards after they update... i added "macro tools" to the gallery editor page, and the two available tools are to reverse all images and reverse all groups. If you run into such problem while updating, simply use the needed macro tool.
Figured out a bunch of small CSS bugs - stuff is laid out a bit neater now. Pretty sure there's more to come.. *cdi mario voice* and you've gotta help us!
58 notes
·
View notes
Note
hi!!! i love for custom blog theme,, do you have a link to the code or creator 0:?
ya!
so my theme is actually a heavily modified version of redux edit #1 by lopezhummel (current url: holyaura). i always remind users that most tumblr themes are old and that you'll need to replace all instances of "http://" in the code with "https://" so tumblr will save the theme. i had to do it with this one
these are the modifications i made to the theme. i edited this theme over the course of at least a year or so and don't quite recall how i did all of these things. but to the best of my ability:
i moved the "left side img" to the right side of the screen. i also made this element "responsive" so the image will never get cropped when you resize your screen. this was a bitch and a half to figure out and i truthfully do not remember how i did it
i deleted the text in the drop-down navigation so it appears as a little line that is otherwise not noticeable. this type of theme, the "redux edit," used to be very popular because having a drop-down menu let you cram a bunch of links that lead to sub-pages on your blog. i've done away with my sub-pages, but i still like the format of the "redux style" tumblr theme, for its minimal UI and for its customization options.
i separated my mobile description from my web description for formatting reasons. basically, most elements in tumblr themes are connected to specific text fields and toggles. i simply went to the section that was connected to my blog description and deleted it. the web description has to be manually typed inside of the CSS/HTML editor when i want to change it. whereas my mobile description is whatever i type in the "description" box of the normal tumblr theme editors.
i added code someone else made ("NoPo" by drannex42 on GitHub) which allows you to hide posts with certain tags on them. i did this to hide my pinned post, as it looks bad on desktop.
i replaced the tiny pagination arrows at the bottom with images that literally say "next" and "back" because the arrows were far too small/illegible. i know they aren't centered in the container i'm not sure how to fix that lol
i added a cursor
i installed a working music box ("music player #3" by glenthemes), and then added music by uploading MP3 files to discord and then using the links of those files as the audio sources. iirc i also had to make this element responsive and i aligned it so it would sit on the left side of my screen. i made the "album art" for each one the same strawberry pixel art
the moth is just a PNG i added and then moved around so it was behind my sidebar using the options that came pre-packaged with the theme
if you want something like the strawberry shortcake decoration at the top (called "banner" in the theme) your best bet is to google "pixel divider"
theme didn't support favicon so i added that in so i could have a little heart
ALSO:
this theme is. really weird about backgrounds. any background that i have ever set for it, i've had to do weird shit in photoshop. like making the background HUGE, mirroring it, etc. - because it would crop the image weird, or there would be a gap where there was no image. idk man, it's haunted. i'm sure there's a way to fix this but i am NOT tech savvy enough. anyway, patterns are probably your best friend. and if you DO want something that isn't a pattern, it's going to take a lot of trial and error. but i love this theme so i deal with it 😭
the sidebar image and the floating image do not scale. if your image is 1000 pixels, it will display at 1000 pixels. you'll either have to edit the code so that the theme scales the image for you, or resize any images before you add them
my white whale of theme editing (aside from the Weird Background thing) is that i cannot get infinite scrolling to work. i have tried every code out there. all of them break my theme. it makes me sad because like. i have music there for a reason. the idea is that people would listen to it while they scroll. unfortunately, the way it's set up now, the music will stop every time someone clicks "next" or "back" 💀
anyway sorry for rambling but i hope you enjoy the the theme and customizing it in the way that you want to!
21 notes
·
View notes
Note
Anon so this doesn't come from my main but it's nsfruitw- I LOVE YOUR BLOG CODING OMG??? THE WORKING BUTTONS AND MOVING WINDOWS ARE SO AWESOME???? I'm so excited for Dee's ask blog!!!
<OOC:>
Ahhhhhh!!! thank you!!! I had three different potential blogs.. but a lot of them didn't really met my wishes/criteria.
Which in case you're interested were:
Windows 98 look
Search bar
Visible tags
One Column
Separate Window for your Profile Info with a picture. (maybe separate icons or a lil menu for links)
No endless scrolling/seperate pages
I will put everything else under the cut since the post became quite long haha
This was one of the first themes I tried out (tbh I kinda jumped between all of them, trying stuff out)
I loveeee the start bar on this one, the icons and that it can be one or two columns. But it has no search bar and I didn't like that the profile section is super small, has no picture and couldn't be swapped to the left instead of the right side. I'm not confident enough in my html/css skills to competently yoink that start bar and transplant it into a different theme
Pros VS Cons: + animated start-bar (with accurate time in the corner) + one column (or two columns) + Windows 98 look + functional corner buttons + icons + custom background picture - no search bar - tiny info profile window, no picture (can't be moved to the left side) - endless scrolling - no visible tags
I prefer this theme for the most part over the previous one.. even if i loveee the functional startbar feature there! Its practically perfect. it can be one or two columns (i prefer one column blog layouts personally) You can add a lil picture in the profile section, its on the left side and you have a search bar!
I also looooveee that the post windows look extremely accurate and that the tags are always visible. (< another thing thats often kinda hidden in themes, so i tend to forget about it) Also the lil corner buttons can actually be used to like or reblog the post! what a highlight<3. my only issue was that i couldnt add a background picture.. and i kinda liked the idea of having separate icons for obvious links like I do now.
Pros VS Cons: + Windows 98 look + functional corner buttons + one column (or two columns + No endless scrolling (page by page) + Left side Info Window with picture and links + Visible tags
- no custom background picture
Another theme that I tried out is this one
They made the same theme I ended up using. It has a built in music player (that wont auto run!) a profile section + picture, customizable icons and background. But the biggest thing for me is that it doesn't have a search bar and I really need/want searchbars in my themes.
It's a really solid theme! It just fell a lil short for what I wanted to have
Pros VS Cons: + Windows 98 look + one column + No endless scrolling (page by page) + Left side Info Window with picture and links + Visible tags + music player (bonus) + custom icons and custom background picture + custom lil link window
- no searchbar (my biggest issue with a lot of themes haha)
Okay so last is the theme I ended up using which is this one:
It's very similar to the previous theme (Nostalgia 98) and was made by the same person. I edited the code a lil to have the tags be visible instead of needing to hover and to add another icon for links. It works but it’s also the only icon that isn’t draggable haha
Pros VS Cons: + Windows 98 look + one column + No endless scrolling (page by page) + Left side Info Window with picture and links + custom icons and custom background picture + custom icons for custom links
- no visible tags (I edited the code a lil so they're permanently visible)
3 notes
·
View notes
Text
Mastering the Art of CSS Translate Property
Do you want to elevate your CSS skills? 🌟 💡 Ever wondered how to create stunning web animations and smooth transitions? Check out our latest blog post: Mastering the Art of CSS Translate Property: A Comprehensive Guide with 7 Examples In this guide, you will learn all about the CSS Translate property and how it works, along with key insights on the Transform property. Discover 7 hands-on examples, including how to create sliding menus, animated flip cards, stylish draggable elements, centered image galleries with hover effects, smooth and responsive modals, expanding search bars, and dynamic search bars. Don't miss out on these powerful techniques to enhance your web projects! 🚀 Read the full guide now and start creating amazing CSS animations today! 👇
#WebDesign#CSS#FrontendDevelopment#WebDevelopment#CSS3#Programming#WebDev#Animation#UXDesign#JavaScript#skillivo#skillivoBlogs $hashtag#slidingMenus#animatedFlipCards#CSSmodals
3 notes
·
View notes
Text
Navbar Animation with Moving Hover Effect
#codingflicks#html css#frontend#css#html#frontenddevelopment#webdesign#css menu hover#css menu hover effects#html css menu#navbar animation#css3#moving hover animation#navigation menu#navigation bar
12 notes
·
View notes
Text
Creative CSS Menu Hover
#css menu hover#pure css animation#css animation tutorial#css animations#html css#codenewbies#pure css tutorial
0 notes
Text
CSS Creative Menu Hover Effects
#css menu hover effects#css menu hover#html css menu#pure css animation#css animation examples#css animation#learn to code#code#html css#frontenddevelopment#css#css3#html#divinectorweb#navigation menu css#css navbar#navbar
1 note
·
View note
Text
Poppin’ In
New Post has been published on https://thedigitalinsider.com/poppin-in/
Poppin’ In
Oh, hey there! It’s been a hot minute, hasn’t it? Thought I’d pop in and say hello. 👋
Speaking of “popping” in, I’ve been playing with the Popover API a bit. We actually first noted it wayyyyy back in 2018 when Chris linked up some information about the <dialog> element. But it’s only been since April of this year that we finally have full Popover API support in modern browsers.
There was once upon a time that we were going to get a brand-new <popover> element in HTML for this. Chromium was working on development as recently as September 2021 but reached a point where it was dropped in favor of a popover attribute instead. That seems to make the most sense given that any element can be a popover — we merely need to attach it to the attribute to enable it.
<div popover> <!-- Stuff --> </div>
This is interesting because let’s say we have some simple little element we’re using as a popover:
<div>👋</div>
If this is all the markup we have and we do absolutely nothing in the CSS, then the waving emoji displays as you might expect.
Add that popover attribute to the mix, however, and it’s gone!
That’s perhaps the first thing that threw me off. Most times something disappears and I assume I did something wrong. But cracking open DevTools shows this is exactly what’s supposed to happen.
The element is set to display: none by default.
There may be multiple popovers on a page and we can differentiate them with IDs.
<div popover id="tooltip"> <!-- Stuff --> </div> <div popover id="notification"> <!-- Stuff --> </div>
That’s not enough, as we also need some sort of “trigger” to make the popover, well, pop! We get another attribute that turns any button (or <input>-flavored button) into that trigger.
<button popovertarget="wave">Say Hello!</button> <div popover id="wave">👋</div>
Now we have a popover “targeted ” to a <button>. When the button is clicked, the popover element toggles visibility.
This is where stuff gets really fun because now that CSS is capable of handling logic to toggle visibility, we can focus more on what happens when the click happens.
Like, right now, the emoji is framed by a really thick black border when it is toggled on. That’s a default style.
Notice that the border sizing in the Box Model diagram.
A few other noteworthy things are going on in DevTools there besides the applied border. For example, notice that the computed width and height behave more like an inline element than a block element, even though we are working with a straight-up <div> — and that’s true even though the element is clearly computing as display: block. Instead, what we have is an element that’s sized according to its contents and it’s placed in the dead center of the page. We haven’t even added a single line of CSS yet!
Speaking of CSS, let’s go back to removing that default border. You might think it’s possible by declaring no border on the element.
/* Nope 👎 */ #wave border: 0;
There’s actually a :popover-open pseudo-class that selects the element specifically when it is in an “open” state. I’d love this to be called :popover-popped but I digress. The important thing is that :popover-open only matches the popover element when it is open, meaning these styles are applied after those declared on the element selector, thus overriding them.
Another way to do this? Select the [popover] attribute:
/* Select all popovers on the page */ [popover] border: 0; /* Select a specific popover: */ #wave[popover] border: 0; /* Same as: */ #wave:popover-open border: 0;
With this in mind, we can, say, attach an animation to the #wave in its open state. I’m totally taking this idea from one of Jhey’s demos.
Wait, wait, there’s more! Popovers can be a lot like a <dialog> with a ::backdrop if we need it. The ::backdrop pseudo-element can give the popover a little more attention by setting it against a special background or obscuring the elements behind it.
I love this example that Mojtaba put together for us in the Almanac, so let’s go with that.
Can you imagine all the possibilities?! Like, how much easier will it be to create tooltips now that CSS has abstracted the visibility logic? Much, much easier.
Michelle Barker notes that this is probably less of a traditional “tooltip” that toggles visibility on hover than it is a “toggletip” controlled by click. That makes a lot of sense. But the real reason I mention Michelle’s post is that she demonstrates how nicely the Popover API ought to work with CSS Anchor Positioning as it gains wider browser support. That will help clean out the magic numbers for positioning that are littering my demo.
Here’s another gem from Jhey: a popover doesn’t have to be a popover. Why not repurpose the Popover API for other UI elements that rely on toggled visibility, like a slide-out menu?
Oh gosh, look at that: it’s getting late. There’s a lot more to the Popover API that I’m still wrapping my head around, but even the little bit I’ve played with feels like it will go a long way. I’ll drop in a list of things I have bookmarked to come back to. For now, though, thanks for letting me pop back in for a moment to say hi.
#animation#API#Articles#attention#background#box#browser#chromium#computing#CSS#development#DevTools#dialog#digitalocean#display#displays#emoji#focus#Full#hover#how#HTML#it#LESS#list#logic#menu#mind#model#Moment
0 notes
Text
youtube
Full Feature List: Boot to Main Menu Brand New Custom Debug Menu with a Bunch of Features Press L/R on CSS to Load Alternate Costumes (24 Total Colors Now!) Added 80+ Additional Kirby Songs! Option to Use the ARDX Machine Pack (Balanced and Buffed Machines by perry1853108) Customize Music Playlists! Choose Your Favorite Kirby Songs to Listen to! Customize Random Event Selection (Blacklist Unwanted Events!) Customize Random Stadium Selection (Blacklist Unwanted Stadium Events!) Customize Item Frequency! (Ramp up the Item Spawn Rate!) Customize Time Between Events (Back-to-back Events!) Choose Between 3 Different City Trial Themes! (Normal, Winter, Autumn Sunset) Option to Start With a Random Machine During City Trial Unlock Everything, Checklists Empty Cursor Hovered Over City Trial by Default Unlock City Trial Timer (1-99 Minutes) Press X to Look Behind Press B to Brake Press Z to Drop Abilities Press Z While Paused to Randomize the Music Can Dismount Machine in Air Ride Unrestricted Pause Camera Zoom in/out with X+Y While Paused ala Melee Default Camera Position Zoomed Out (Higher FOV) City Trial Starts at 8 Minutes
for more information on the hack pack and netplay, see here:
4 notes
·
View notes
Text
Solutions for web designers out there
( All animations and movement on a page should be considered for photo-sensitivity including motion sickness and vertigo. )
For animated .GIF image files:
Create a .JPG or .PNG still image version of the animations from their most important or appealing frame. That should be loaded into the HTML first instead of the .GIF.
And before we go into the optimal JavaScript interaction, let’s stick with the HTML a little more...
If you have images that are not already hyperlinked, you can instead make them link to their animated GIF version to open in a new tab (target=“_blank”). Be sure to have appropriate warnings about those links leading to the animated version of that image, right before/above the image itself for those who may be going through the page in order with some accessibility devices. (Thus, they read the warning before they interact with the link.)
Then, from there, we do the script side for this. You can store the different image file paths into your JavaScript and use mouseover/mouseout events to change the file path inside your src=“” attribute. (Here’s how you can dynamically and efficiently do this for many images and give them their own Event Listener: My JSFiddle Example.)
EDIT: I've updated the example to have a 1-second delay for the images to change into animations in case someone accidentally has their mouse over the image after the page loads in. It'll be best to also make hover/active animations optional, which will tie into the JavaScript needed to achieve the hover/active functions to begin with.
Also added a few more in-code comments for extra instruction and clarity.
Another idea with JavaScript is to have a “toggle” sort of <button> on your page that someone can click/confirm whether or not everything on a page should animate/move or not. If you’re nicely familiar with JavaScript, you can make a more in-depth options menu for this sort of thing too!
This is also a great solution since there are web users who look at webpages either in a simplified view or blocking all scripts (like JavaScript) from your website. They could be viewing your website like this due to personal needs, or technological limitations. And so, having a still image in your HTML by default is MUCH preferred!
For CSS @ keyframe animations:
In the raw CSS file, the default value for the animation-play-state property should be paused. We have to keep simplified view users and script-blocking users in mind for moving objects and images on our webpages. So, whatever is loaded in by default must maintain this priority.
Thankfully, sticking with the CSS, we can just as easily changed the animation-play-state to running when the element is hovered (for mouse users) or active (for touch-screen users).
For sprite sheet animations:
If you’ve figured out how to make sprite animations on a web doc, then you’re already involved in the JavaScript for it and familiar with the code. Or, you're doing it the pure CSS way (see here). In which you can refer back to the @ keyframe section above.
So, here’s a general guideline that you can follow in JavaScript!
The sprite sheet element in your CSS should focus on your most important frame that you want to be seen by users on the default page appearance. Set its background-position to that frame inside the CSS.
For users who can load JavaScript on the page, set that element to toggle its animation by mouseover/mouseout or clicking.
For users who cannot load the JavaScript, the next best thing is to build the sprite animation from CSS keyframe steps().
And for most absolute safe case scenario in case of browser or device compatibility issues with any of these properties in the CSS, you could make an animated .GIF file of your sprite sheet. Make sure it's under 1Mb for users in this category who are also likely to be viewing your page from slow download speeds. With that, refer back to the section for handling image files without JavaScript.
Hopefully this is of great help, if not a starting point for accessibility ideas and considerations for your websites!
pleeeeeeeease indie web and scenecore and whatever other subcultures.... have fun and be cringe but PLEASE be careful with your blinkies. if your website has flashing lights that are on by default or that can't be turned off, then it is inaccessible to photosensitive people. if your post has flashing lights, it needs to be tagged. PLEASE. i love indie web stuff but the prevalence of unavoidable flashing lights makes me really anxious!! people have migraines and seizures! please use tags like "flashing lights" and "eye strain," NOT "epilepsy" or "epilepsy warning," and please consider making your site accessible by removing flashing lights or making them avoidable. PLEASE. make the web usable for photosensitive people.
#web design#web development#retro internet#old internet#neocities#accessibility#a11y#wk speaks#wk replies#reference#resources#guides#important#epilepsy support#disability awareness#internet safety#photosensitivity#old web#html#css#javascript
5K notes
·
View notes