17

I have never seen this before, so it may simply be that the user that happened to cause it had an unfortunate number for reputation and badge counts, that corresponds to a number format the Skype plugin matches (on Chrome at least).

Here's a question in which I can see the problem (viewing in Chrome, and I guess this will probably only be noticeable while the user has their current level of rep and badges).

Is there anything that can be done to prevent this in the future (and is there any point, as I'm pretty sure it's going to be a very rare occurrence?)

Skype enabled

Disabling the Skype plugin, the question returns to normal:

Skype disabled

Update

Indeed, since the user has now increased in reputation (+2 for accepting an answer to that very question), the problem no longer occurs. I don't really think it would be worth looking any further into this as it must be a pretty unusual occurrence.

Update 2

I have just run into this again, so perhaps it happens more commonly than I first thought. I know this has already been marked declined, but I still think it's worth pointing out:

enter image description here

19
  • 1
    @animuson - Perhaps, but I think the number (Skype must see them all as one number even though they appear in different elements) was a valid phone number, hence the highlighting. It is possible that it could be prevented by the addition of any other character (maybe a space). Apr 7, 2012 at 21:04
  • This is a duplicate of a question which I for the life of me cannot find. The accepted answer was something to the tune of "uninstall the Skype plug-in".
    – a cat
    Apr 7, 2012 at 21:06
  • 1
    The question is, who does it ring? And does anyone have the right combination of rep and badges such that it rings them?
    – user142852
    Apr 7, 2012 at 21:06
  • @animuson - That's a very good point. And as mentioned in the question, I completely agree that it's such an edge case it wouldn't be worth doing anything about. But I was interested to see the response and if anyone else had ever experienced it! Apr 7, 2012 at 21:09
  • 2
    @James: Actually, I just checked. The way they render it would not produce spaces in between the numbers. Shame. That could really confuse a screen reader seeing 1,0041729. How are you supposed to interpret that?
    – animuson StaffMod
    Apr 7, 2012 at 21:11
  • @animuson - Yes, I was just about to say that too, having checked the source again. And that's again a very good point about screen readers. So perhaps something should be done, but it's going to be such a rare case it may not be worth it. Apr 7, 2012 at 21:13
  • 3
    It would be something that's very easy to fix and would solve problems, I don't see why they couldn't go in and add a few spaces. I'm sure there are other programs out there that this could cause problems with, Skype is just the one that got noticed.
    – animuson StaffMod
    Apr 7, 2012 at 21:17
  • @animuson - Adding spaces doesn't fix the problem. If you have the Skype plugin installed, here's a quick example page I've put together (inspect the source, spaces in various spaces make no difference): jamesallardice.com/examples/test.html Apr 7, 2012 at 21:22
  • Spaces or not, I find it really odd that Skype does not take the HTML into account somehow. It's like: <span class="reputation-score" title="reputation score" dir="ltr">1,004</span><span title="1 gold badge"><span class="badge1"></span><span class="badgecount">1</span></span><span title="7 silver badges"><span class="badge2"></span><span class="badgecount">7</span></span><span title="29 bronze badges"><span class="badge3"></span><span class="badgecount">29</span></span> Who'd even think that could be a phone number?
    – Arjan
    Apr 7, 2012 at 21:25
  • 2
    @Arjan: A screen-reader doesn't care. A <span> is an inline element. It already ignores all the classes so it just sees <span><span><span><span> and gets rid of them all to find the underlying content. You can never assume that the numbers are supposed to be separated unless they're physically separated. This is one of the problems with CSS, people are forgetting that the HTML still matters too.
    – animuson StaffMod
    Apr 7, 2012 at 21:29
  • @Arjan - Perhaps they were considering the fact that people may style parts of numbers differently? For example, you could put the area code in a <span> to style it slightly differently to the rest of the number, but it would still be part of the number. That is why span elements are inline elements. Apr 7, 2012 at 21:30
  • 1
    True, @animuson. On the other hand: for Skype we're talking about a plugin that's supposed to not have too many false positives, I'd assume. Getting 7 numbers from 293 characters of HTML source feels odd to me, even more so as it's ignoring the 1, before that. (How often would a number like 1, be followed by a telephone number...) James, does using a decimal dot instead of the thousands separator also fool Skype? Like 1.0041729 rather than 1,0041729? Anyway, a fact is a fact: it does confuse Skype, and that should indeed make us think about screen readers et cetera.
    – Arjan
    Apr 7, 2012 at 21:53
  • @Arjan - Using a decimal separator makes no difference. If you look at the screenshot you will notice that the 1, is not part of the recognised number (the 0041729 is the part matched by Skype). In some other cases it is possible changing the separator would make a difference (but I would always expect to see a comma separator so would prefer that even it it did solve the problem). Apr 7, 2012 at 21:56
  • The 1, being ignored is exactly my point. If Skype even takes 0041729 out of 1.0041729 then that plugin is really stupid ;-) (And no, I was not suggesting to take away the comma, or to replace it with something else, sorry for the confusion. I was just curious about Skype. @animuson's note about any solution for screen readers would probably also fix things for Skype.)
    – Arjan
    Apr 7, 2012 at 22:09
  • @Arjan - I think I see what you mean. The plugin does highlight 0041729 when it's preceded by 1. (it does so in your previous comment), so even though that number is clearly one continuous number, Skype doesn't care. Agreed, a solution for screen readers should fix things for Skype too. Apr 7, 2012 at 22:17

2 Answers 2

13

The problem identified here is that there are four separate numbers, or so it would seem, but semantically they are all listed as one huge number, with a 1, at the front of it.


See the HTML source for my reputation and badges, having all three types of badges:

<span class="reputation-score" title="reputation score" dir="ltr">9,456</span><span title="2 gold badges"><span class="badge1"></span><span class="badgecount">2</span></span><span title="14 silver badges"><span class="badge2"></span><span class="badgecount">14</span></span><span title="62 bronze badges"><span class="badge3"></span><span class="badgecount">62</span></span>

Since it's all pushed together with no white-space in between at all, Skype is seeing it as one long string. Screen readers don't actually care about what styles, classes, or otherwise you're applying to the inline elements. So, take out the CSS, remove the empty elements, and simplify the HTML, and you're left with this:

<span title="reputation score" dir="ltr">9,456</span><span title="2 gold badges">2</span><span title="14 silver badges">14</span><span title="62 bronze badges">62</span>

So really, you just have four numbers that each have a different title assigned to them. However, they're still inline elements and without CSS they still render consecutively. In Skype's reality, the rendering would look like this:

9,45621462

To any program which doesn't realize that these spans are actually supposed to be separated, this looks like some random, meaningless number. We can't assume that there's supposed to be spaces in between them, that's what HTML markup is for, to tell us that there should be.

So to conclude, I wouldn't necessarily blame this one entirely on Skype.

10

Yeah, this is a bug for the Skype forums, that's really mis-parsing things here. Interpreting what is always 4 spans as a phone number is crazy, something they need to adjust.

Unfortunately your options for a fix are:

  • Disabled or uninstall the plugin
  • File a bug on the Skype community forums, see if they improve the behavior in a future update
4
  • 1
    True, but what about screen readers then, like animuson explained? How is any other software going to interpret 1,0041729? (I can only think of screen readers; anything else that asks for HTML and ignores CSS is probably a scraper or some text based browser...?)
    – Arjan
    Apr 7, 2012 at 23:49
  • @Arjan - it's 4 separate spans, HTML needs no white space there (in fact it'd introduce rendering inconsistencies if we added it), I haven't heard of any screen reader issues reported...doesn't mean they don't exist. However, this would exist in all cases, not just the magical number of total digits to get skype to pick it up, so you'd think we'd of heard about screen reader issues on this by now, maybe people just skip this section? Apr 7, 2012 at 23:54
  • @Nick a simple, hackish fix would be to keep a display:none span with a number in between. Or maybe add an nbsp in the span(dunno if this will work) Apr 8, 2012 at 0:29
  • 4
    @NickCraver - As animuson touches on, 4 span elements do not semantically separate content, as span elements are inline. You could, for example, style the first part of a phone number (perhaps the country code) differently by placing it in a span, but you would still expect Skype or a screen reader to recognise that as one number. Apr 8, 2012 at 8:38

Not the answer you're looking for? Browse other questions tagged .